Strong Password Regex – Lookahead-Regeln erklärt
Debuggen Sie reguläre JavaScript-Ausdrücke live: hervorgehobene Übereinstimmungen, Erfassungsgruppen, Flags und Ersetzungsvorschau.
Ergebnis
Diese Seite wird mit einem Passwortrichtlinienmuster geöffnet, das vollständig aus Lookaheads besteht: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Bei jedem (?=…) handelt es sich um eine Nullbreitenprüfung, die die gesamte Zeile scannt, ohne sie zu verbrauchen: Einer verlangt einen Kleinbuchstaben, einer einen Großbuchstaben, einer eine Ziffer, einer ein Sonderzeichen – und erst dann erzwingt .{8,} die Mindestlänge.
Die Flags sind hier wichtig: m macht ^ und $ zu Ankern in jeder Zeile statt im gesamten Text, und g findet jede qualifizierte Zeile. Dadurch wird der Tester zu einer Checkliste – das Beispiel enthält fünf Kandidaten-Passwörter und nur die Zeilen, die alle vier Look-Aheads erfüllen, leuchten auf. Sehen Sie auf einen Blick, warum „passwort123“ fehlschlägt (kein Großbuchstabe, kein Sonderzeichen), während „Tr0ub4dor&3“ erfolgreich ist.
Lookaheads sind die Standardmethode, um „muss irgendwo X enthalten“-Bedingungen in einem einzigen Ausdruck auszudrücken, und diese Voreinstellung ist ein sicherer Spielplatz, um sie zu lernen. Schränken Sie die Richtlinie auf mehr als 12 Zeichen ein, fügen Sie eine (?!.*(.)\1\1)-Prüfung gegen dreifache Wiederholungen hinzu oder fügen Sie eine Liste mit echten Passwörtern ein – jede Änderung wird sofort neu ausgewertet und nichts, was Sie eingeben, verlässt Ihren Browser.