C# Regex pour autoriser uniquement l'alpha numérique
J'ai le texte suivant regex ^[a-zA-Z0-9]+$
qui permettrait de caractères alpha numériques. Le problème ici est que si je entrer uniquement des caractères numériques, comme "897687", alors que l'expression régulière correspond. Je ne veux pas que cela se produise. Il devrait y avoir au moins un caractère de texte et il doit commencer par un caractère de texte. Par exemple, comme "a343" ou "a98bder" ou "a4544fgf343"
Ce serait formidable si vous pouviez m'aider à améliorer mes regex pour cela.
- En aparté, avec "il devrait y avoir au moins un alphabet et il devrait commencer avec un alphabet", le second signifie que la première sera toujours vrai. Ainsi, l'exigence est ", il doit commencer par une lettre de l'alphabet". Maintenant, pour aller upvote Rowland depuis qu'il a compris cela très bien 🙂
Vous devez vous connecter pour publier un commentaire.
Sonne comme vous voulez:
Juste au cas où que les caractères ASCII sont à un certain point, pas assez, voici la version Unicode:
\p{L}
est à tout point de code Unicode qui a la propriété de lettre ==> une lettre de n'importe quelle langue (qui est en Unicode)\p{N}
est à tout point de code Unicode qui a la propriété nombre ==> n'Importe quel nombre de caractères de n'importe quelle langue (qui est en Unicode)Devrait faire l'affaire!
Alternativement, si vous souhaitez inclure tous les alphanumérique plus un trait de soulignement, vous pouvez utiliser:
\w
. Dans .net, il est[\p{L}\p{N}_]
il comprend tous Unicode des lettres, des chiffres et (au moins) le trait de soulignement.Cette fonction retourne true ou false selon si l'Expression Régulière est assorti ou non,
Ou un peu moins bavarde que l'on a accepté la réponse:
C# regex a du caractère de classe de l'indicateur "\w" pour les caractères alphanumériques, mais n'a pas un caractère de classe pour seulement alphabétique (pas de chiffres), par conséquent, vous devez spécifier la classe [a-zA-Z] manuellement.
C'est la meilleure solution pour vérifier alphanumérique,
si c'est alphanumérique -"Succès".