J'ai besoin de reportez-vous à un champ de mot de passe à l'aide de JavaScript avec les conditions suivantes:
J'ai une regex qui prend soin de la plupart des cas: p> Le problème ici est avec les symboles, cela fonctionne avec: p>
@@Pssw0rdPssw0rd
3 Réponses :
(?=.*[class].*[class]) # equivalent to (?=(?:.*[class]){2})
Testé et confirmé avec 100 000 mots de passe créés au hasard. Vous êtes un regex jedi, merci!
J'aimerais ajouter que cette regex fonctionne multi-plate-forme, mais si vous utilisez-le dans JavaScript, il ne fonctionnera pas dans IE7 en raison du problème de lookahead dans le moteur JavaScript. Lien a >
Pourquoi ne vous laisseront-ils pas supprimer des commentaires ??
Cette réponse est criminellement votée. En effet, vous êtes une regex jedi, merci! " @kennytm
Je ne suis pas sûr qu'un seul réégycle est le moyen d'aller pour ce test.
Personnellement, je voudrais en mettre en œuvre quelque chose comme ceci: (Traitez comme pseudo code, je ne l'ai pas testé) P>
J'aime votre pensée, mais j'ai besoin de regex, car cela fonctionne dans plusieurs langues, une réutilisation de code plus facile était une clé pour moi.
Il y a déjà de bonnes explications, alors je suis juste en train de piller ... P>
/ ^ code>
(? =. {15}) code>
(? = (?:. * [[[: Basse:]]) {2}) Code>
(? = (?:. * [[[[: Upper:]]]) {2}) Code>
(? = (?:. * [[[[: chiffre:]]]) {2}) code>
(? = (?:. * * [! @ # $%% ^ & * -]) {2}) code>
/ x code> p>
Je pense que cela ne peut pas être fait avec une i> regex.
@Salman: Pourquoi pas? Avez-vous déjà entendu parler de Lookaheads?
Je recommande de faire cela. La sécurité de mot de passe appliquée est l'une des principales raisons des utilisateurs créant un "mot de passe1" ou "mot de passe! @ 12345" dans votre cas.
Je parie "C'est mon mot de passe et vous ne serrez pas la force de la force à tout moment. Il est facile de se souvenir, mais difficile à craquer." est plus fort que "mot de passe! @ 12345" et cela ne répond pas à ces exigences.
@Martinho Fernandes: Nope. va rechercher :)
Il y a quelques fonctionnalités supplémentaires que j'ai laissées par ici qui n'affecte pas la regex. Il existe des contrôles supplémentaires au niveau de DB pour vous assurer que le mot de passe ne contient pas de valeurs de dictionnaire, de votre nom d'utilisateur, de tous les numéros liés à vos informations, etc.
@Yorick, je pense que avec des utilisateurs que paresseux si vous ne i> imposez-vous la sécurité de mot de passe, ils choisiront probablement quelque chose comme
p code> (j'ai vu cela)
Je préfère casser les différentes conditions dans les étapes du code plutôt que par une regex complexe. De cette façon, vous pouvez signaler à l'utilisateur pourquoi i> leur mot de passe a échoué la validation de la sécurité. Également plus facile de vérifier que cela fonctionne réellement.