Mot de passe REGEX avec au minimum 6 caractères, dont au moins une lettre et un chiffre, et peut contenir des caractères spéciaux
J'ai besoin d'une expression régulière, avec la condition:
- min 6 caractères max 50 caractères
- doit contenir 1 lettre
- doit contenir 1 nombre
- peut contenir des caractères spéciaux comme de la !@#$%^&*()_+
Actuellement, j'ai pattern: (?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,50})$
Cependant il ne permet pas de caractères spéciaux, quelqu'un at-il une bonne regex pour qui?
Grâce
- les caractères spéciaux comme [!@#$%^&*()_+]- ce qui ne vous permettent pas?
Vous devez vous connecter pour publier un commentaire.
Peut-être une seule regex peuvent être utilisés, mais qui rend difficile de donner le feedback de l'utilisateur pour lequel la règle qu'ils ne suivent pas. Une approche plus traditionnelle comme ça vous donne des commentaires que vous pouvez utiliser dans l'INTERFACE utilisateur pour indiquer à l'utilisateur quel pwd règle n'est pas respectée:
suivantes jfriend00 réponse, j'ai écrit ce violon pour tester sa solution, avec quelques petits changements pour le rendre plus visuel:
http://jsfiddle.net/9RB49/1/
et c'est le code:
btw, son travail comme un charme! 😉
meilleures salutations et merci pour jfriend00 bien sûr!
Plus d'élégance et autonome regex pour correspondre à ces (commun) exigences de mot de passe est:
La touche d'élégance ici, c'est que vous de ne pas avoir à coder en dur les symboles comme $ @ # etc. Pour accepter tous les symboles, vous êtes tout simplement en disant: "acceptez également tous les pas des caractères alphanumériques et non des nombres".
La dernière partie de la regex
{5,50}
peut être facilement modifié et correspond à min et max nombre de caractères: dans cet exemple précis jusqu'à 5 caractères de la regex retourne un non match (c'est à dire au minimum 6 caractères sont nécessaires pour valider). De même, au bout de 50 caractères, elle renvoie un non match ainsi.(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d^a-zA-Z0-9].{6,}$
pour validerAt least 1 uppercase, 1 number and one special char
J'ai une regex, mais c'est un peu délicat.
Permettez-moi de l'expliquer et de la façon de vérifier si le testé mot de passe est correct:
Il y a trois groupes nommés dans la regex.
1) "Chiffres": va correspondre à un seul numéro de la chaîne.
2) "Alpha": va correspondre à un seul caractère de "a" à "z" ou "A" à "Z"
3) "Spécial": va correspondre à un seul personnage n'étant pas des "Alpha" ou "Numéros"
Ces trois groupes nommés sont regroupés dans un autre groupe, et
{6,50}
conseille regex machine à capter au moins 6 de ces groupes mentiond ci-dessus, mais pas plus de 50.Pour assurer un bon mot de passe est entré, vous devez vérifier si il y a un match, et après cela, si les paires de groupes de capturer autant que vous le souhaitez. Je suis un développeur C# et ne savez pas comment il fonctionne en javascript, mais en C# vous avez à vérifier:
J'espère que ça fonctionne de la même façon en javascript! Bonne chance!
Vérifier un mot de passe entre 7 à 16 caractères qui ne contiennent que des caractères, de chiffres, de soulignement et le premier caractère doit être une lettre-
Vérifier un mot de passe entre 6 à 20 caractères qui contiennent au moins un chiffre, une lettre majuscule, une lettre minuscule
Vérifier un mot de passe entre 7 à 15 caractères, qui contient au moins un chiffre et un caractère spécial
Vérifier un mot de passe entre 8 à 15 caractères, qui contient au moins une lettre minuscule, une lettre majuscule, un chiffre et un caractère spécial
J'espère que cela aidera quelqu'un. Pour plus d'informations, veuillez consulter cette l'article et ce site regexr.com
- Je utiliser ce