Quelle est l'expression régulière d'un nombre numérique à 10 chiffres (pas de caractères spéciaux ni de décimales).
Utilisez cette expression régulière pour ne faire correspondre que dix chiffres:
@"^\d{10}$"
Pour rechercher une séquence de dix chiffres consécutifs n'importe où dans une chaîne, utilisez:
@"\d{10}"
Notez que cela trouvera également les 10 premiers chiffres d'un nombre à 11 chiffres. Pour rechercher n'importe où dans la chaîne pour exactement 10 chiffres consécutifs et pas plus, vous pouvez utiliser un négatif lookarounds :
@"(?<!\d)\d{10}(?!\d)"
Utilisez le modèle suivant.
^\d{10}$
\d{10}
Je crois que ça devrait le faire
Un exemple de mise en œuvre:
public bool ValidateSocialSecNumber(string socialSecNumber)
{
//Accepts only 10 digits, no more no less. (Like Mike's answer)
Regex pattern = new Regex(@"(?<!\d)\d{10}(?!\d)");
if(pattern.isMatch(socialSecNumber))
{
//Do something
return true;
}
else
{
return false;
}
}
Vous auriez également pu le faire d'une autre manière, par ex. en utilisant Match
puis en enroulant un bloc try-catch autour de la correspondance de modèle. Cependant, si une mauvaise entrée est donnée assez souvent, il est assez coûteux de lever une exception. Ainsi, je préfère la méthode ci-dessus, dans des cas simples au moins.
Utilisez ceci:
\d{10}
J'espère que ça aide.