Regex für Passwort-Validierung in Javascript
Regex Kennwort Komplexität erfordert, dass any three
der folgenden vier Merkmale angewendet werden muss, wenn Sie beim anlegen oder ändern eines Kennworts.
- Alpha-Zeichen - mindestens 1 Großbuchstabe alpha-Zeichen
- Alpha-Zeichen - mindestens 1 Kleinbuchstaben, alpha-Zeichen
- Numerische Zeichen - mindestens 1 numerisches Zeichen
- Sonderzeichen - mindestens 1 Sonderzeichen
Ich versuche mit dem folgenden code, aber es funktioniert nicht für special characters
(?=^.{6,}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.*
Ich möchte mit meiner regex die validiert werden gegen die folgenden 4 Fälle
Übereinstimmen Fällen
- P@ssword
- Password1
- p@ssword1
- p@12345
- mögliche Duplikate von RegEx-Frage für die Passwort-Stärke-Validierung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass ein einzelnes regex wird chaotisch sein in diesem Fall. Sie können ganz einfach etwas tun, wie
count += +/[a-z]/.test(password)
gleiche mit dem anderen Recht? Oder einfach:[/[a-z]/,/[A-Z]/,/\d/,/\W/].filter(function(t){ return t.test(pass); }).length > 2
Denke ich, dass eine regex, die Sie verwenden können, ist:
Ich bin nicht sicher, warum Sie so viele oder Operatoren in deinem regex, aber dieses trifft zu, wenn:
(?=^.{6,}$)
- String > 5 chars(?=.*[0-9])
- Enthält eine Ziffer(?=.*[A-Z])
- Enthält einen Großbuchstaben(?=.*[a-z])
- Enthält Kleinbuchstaben(?=.*[^A-Za-z0-9])
- Ein Zeichen, nicht alphanumerisch.Verwenden Sie diese Regex :
(?=^.{6,10}$)(?=.\d)(?=.[a-z])(?=.[A-Z])(?=.[!@#$%^&*()_+}{":;'?/>.<,])(?!.\s).$**
Ich denke, Sie müssten dies für alle Sonderzeichen zu : [aktualisiert abzulehnen Raum]
und der Geige : jsFiddle
Seine arbeiten gut mit den Sonderzeichen auch.