701 votes

Expression régulière pour les caractères alphanumériques et les caractères de soulignement

J'aimerais disposer d'une expression régulière qui vérifie si une chaîne de caractères ne contient que des lettres majuscules et minuscules, des chiffres et des traits de soulignement.

5voto

Agustin Points 384

Pour ceux d'entre vous qui recherchent une correspondance alphanumérique unicode, vous pouvez faire quelque chose comme ceci :

^[\p{L} \p{Nd}_]+$

Pour en savoir plus http://unicode.org/reports/tr18/ et à http://www.regular-expressions.info/unicode.html

4voto

mylesmckeown Points 31

Pour moi, il y avait un problème dans la mesure où je voulais faire la distinction entre alpha, numérique et alpha numérique, donc pour m'assurer qu'une chaîne alphanumérique contient au moins un alpha et au moins un numérique, j'ai utilisé :

^([a-zA-Z_]{1,}\d{1,})+|(\d{1,}[a-zA-Z_]{1,})+$

3voto

mson Points 4828

Voici l'expression rationnelle pour ce que vous voulez avec un quantificateur pour spécifier au moins un caractère et pas plus de 255 caractères.

[^a-zA-Z0-9 _]{1,255}

1voto

David Norman Points 9156

Pour vérifier la chaîne entière et ne pas autoriser les chaînes vides, essayez

^[A-Za-z0-9_]+$

1voto

Jean-Denis Muys Points 3284

La correspondance des diacritiques dans une regexp ouvre toute une boîte de vers, surtout si l'on prend en compte l'Unicode. Vous pourriez vouloir lire sur les locales Posix en particulier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X