2010-08-02 7 views
1

J'ai une validation de mot de passe comme les règles suivantesvalidation par mot de passe Expression régulière

  1. devrait contenir au maximum 15 caractères et 8 caractères au moins
  2. mot de passe doit contenir le caractère numéro 2
  3. Il n'y a pas d'importance où de mettre les deux caractères numériques en début ou à la fin, même si elles ne importe où dans le mot de passe
+7

'password12' yay! Ça marche. Je veux dire par là que vos critères ne discriminent pas les bons mots de passe des mauvais et tout ce que vous ferez, c'est ennuyer vos utilisateurs. – msw

+2

Je vous encourage à repenser cette solution. Pourquoi donner des limites artificielles à ce qu'un mot de passe peut être? Laissez l'utilisateur décider de la force de son mot de passe sans lui imposer de contraintes artificielles. –

+0

ici est mon REGX 70% fonctionne correctement /^(?=.*\d)(?=.*[0-9].*[0-9])$/ – MeqDotNet

Répondre

11
^(?=\D*\d\D*\d).{8,15}$ 
+0

Ne parviennent pas à trouver ce caractères alpha à la fin? – Robusto

+1

@Rob: Quels caractères alpha? – kennytm

+0

J'aurais dû dire non-numérique. La façon dont votre regex est écrite ne doit-elle pas se terminer par un caractère \ d (numérique)? – Robusto

5

Le mieux que vous pouvez faire est de présenter à votre utilisateur une estimation de la force de son mot de passe et de lui laisser le pied lui-même s'il le souhaite.

Tout système pour forcer les gens à faire de bons mots de passe est condamné par la capacité des gens à utiliser des post-it.

Questions connexes