Sterkt passordregulert uttrykk – forklaringsregler
Feilsøk JavaScript-regulære uttrykk live: uthevede treff, fangstgrupper, flagg og erstatningsforhåndsvisning.
Resultat
Denne siden åpnes med et passordpolicymønster bygget utelukkende fra lookaheads: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Hver (?=…) er en null-breddekontroll som skanner hele linjen uten å konsumere den: en krever en liten bokstav, en en stor bokstav, en et siffer, en et spesialtegn – og først da .{8,} håndhever minimumslengden.
Flaggene betyr noe her: m gjør ^ og $ anker til hver linje i stedet for hele teksten, og g finner hver linje som kvalifiserer. Det gjør testeren til en sjekkliste - prøven inneholder fem kandidatpassord, og bare linjene som tilfredsstiller alle fire lookaheads lyser opp. Se med et øyeblikk hvorfor passord123 mislykkes (ingen store bokstaver, ingen spesialtegn) mens Tr0ub4dor&3 passerer.
Lookaheads er standardmåten for å uttrykke "må inneholde X et sted"-forhold i et enkelt uttrykk, og denne forhåndsinnstillingen er en trygg lekeplass for å lære dem. Stram policyen til 12+ tegn, legg til en (?!.*(.)\1\1) sjekk mot trippelrepetisjoner, eller lim inn en liste over ekte kandidatpassord – hver endring reevalueres umiddelbart, og ingenting du skriver forlater nettleseren.