J'ai besoin d'appliquer la stratégie de mot de passe suivante: p>
Au moins 9 caractères, avec au moins un caractère de chacun des 4 Cours de caractères (alphabétique inférieur et majuscule; numérique, symboles). P> blockQuote>
Des experts surgènes peuvent aider ici? (J'utilise un moteur Java Regex) P>
Pendant que nous y sommes, y a-t-il un outil en ligne qui peut générer une regex pour ces types de tâches? P>
Merci! P>
3 Réponses :
(?=.{9,})(?=.*?[^\w\s])(?=.*?[0-9])(?=.*?[A-Z]).*?[a-z].* Note that this pattern doesn't include special utf chars like ö. I would not do this in one regex. I would split it and search for each thing, if you want to validate it.
Si vous êtes dans la terre JavaScript et utilisez jQuery, je recommanderais Jquery Validation Plugin, voici un mot de passe fort Gist GIST. github.com/mrgcohen/9806928
@MC Si vous validez des données uniquement sur JS-côté d'une application, vous n'avez aucune sécurité du tout. La validation du serveur doit être effectuée indépendamment.
@ Dariusz a accepté, cependant, il est agréable d'avoir des choses que les choses se produisent aussi de la clientèle aussi, elles sont jolies :) - Si vous vouliez que vous puissiez essayer de sauvegarder et d'exécuter une validation sur le backend (à distance). Mais c'est agréable de valider avant qu'il ne frappe votre machine (si possible).
J'utiliserais plusieurs regexp pour résoudre ce problème:
9 caractères - vous pouvez réégyter cela mais .Length ()> = 9 est beaucoup mieux meilleur! p>
pour les classes de caractères, vous devez utiliser un PR. Classe: P>
[a-z]+ [A-Z]+ [0-9]+ [£$%&{[...]+ //all the possible symbols you want to accept or perhaps: [:punct:]+ // this depends on your programming language.. or like in the suggestion by @david-halter: [^\w\s]+ // not alphanumeric or spaces
Voici comment je le ferais (en utilisant un lookahead positif): exemple complet et test: p> : STRUT> P> aB99 : false
abcdefghijk : false
abcdefGHIJK : false
12345678910 : false
abcDEF12345 : false
abcDEF-2345 : true
Une bonne référence pour Regex est à Vogella.de/articles/javaregularexpressions/article.htmlLec a>. S'il vous plaît poster le reg Ex que vous avez déjà essayé
Dupliqué possible de Stackoverflow.com/Questtions/3387785/...
@Felixkling rien n'est faux avec ça, mais il y a tellement d'autres choses que je veux apprendre d'abord;)
Non! Cela a été répondu tant de fois à ce sujet, voir par ex. Stackoverflow.com/a/3466868/297323 rompre dans une fonction différente, où chacun effectue une seule chèque. Cette approche est la preuve future et surtout à maintenir.
Bon, appris ma leçon. Merci pour les liens, cela commencera à enquêter.