6 votes

Comment puis-je autoriser n'importe quel caractère dans une expression régulière ?

Actuellement, j'utilise l'expression régulière suivante pour que l'utilisateur entre un mot de passe

^\w{8,16}$

D'après ce que j'ai compris, \w n'autorise que les caractères a-z, A-Z, 0-9 et le caractère _ (underscore). Je souhaite autoriser tous mais la longueur doit être comprise entre 8 et 16. Comment dois-je m'y prendre ?

9voto

Joe Points 3175

Tout d'abord, utilisez un nombre de mots pour ce dont vous avez besoin plutôt qu'une expression rationnelle.

Si vous devez absolument le faire, alors .{8,16} devrait fonctionner, le . correspond à un seul caractère, quel qu'il soit.

EDIT : Pour anticiper votre prochaine question qui sera certainement : quelle est une bonne expression régulière de validation de mot de passe, vous pourriez vouloir consulter certains de ces blogs :

http://nilangshah.wordpress.com/2007/06/26/password-validation-via-regular-expression/

http://www.zorched.net/2009/05/08/password-strength-validation-with-regular-expressions/

OU recherchez simplement "password validation stackoverflow" sur Google.

6voto

Arief Points 139

Essayez ceci :

^.{8,16}$

Le point correspond à un seul caractère, sans se soucier de la nature de ce caractère. La seule exception concerne les caractères de retour à la ligne. Par défaut, le point ne correspond pas à un caractère de retour à la ligne.

Pour plus d'informations, veuillez consulter le site Le point correspond à (presque) tous les caractères .

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