0

Sterke wachtwoordregex - Lookahead-regels uitgelegd

Debug reguliere JavaScript-expressies live: gemarkeerde overeenkomsten, vastgelegde groepen, vlaggen en vervangingsvoorbeeld.

Ondersteunt $1, $2 en benoemde referenties zoals $<naam>; $& voegt de hele wedstrijd in. Laat leeg om het voorbeeld te verbergen.

Verwerken... 0%

Resultaat

Deze pagina wordt geopend met een wachtwoordbeleidspatroon dat geheel is opgebouwd uit lookaheads: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Elke (?=…) is een controle met nulbreedte die de hele regel scant zonder deze te verbruiken: de ene vereist een kleine letter, de andere een hoofdletter, de andere een cijfer, de andere een speciaal teken - en alleen dan dwingt .{8,} de minimale lengte af.

De vlaggen zijn hier van belang: m zorgt ervoor dat ^ en $ aan elke regel worden verankerd in plaats van aan de hele tekst, en g vindt elke regel die in aanmerking komt. Dat verandert de tester in een checklist: het voorbeeld bevat vijf kandidaat-wachtwoorden en alleen de regels die aan alle vier de lookaheads voldoen, lichten op. Zie in één oogopslag waarom wachtwoord123 mislukt (geen hoofdletters, geen speciaal teken) terwijl Tr0ub4dor&3 wel slaagt.

Lookaheads zijn de standaardmanier om de voorwaarden 'moet ergens X bevatten' in één expressie uit te drukken, en deze voorinstelling is een veilige speeltuin om ze te leren. Verscherp het beleid tot meer dan twaalf tekens, voeg een (?!.*(.)\1\1) controle toe op drievoudige herhalingen, of plak een lijst met echte kandidaat-wachtwoorden: elke wijziging wordt onmiddellijk opnieuw geëvalueerd en niets dat u typt, verlaat uw browser.