0

Strong Password Regex — Lookahead-regler forklaret

Debug JavaScript regulære udtryk live: fremhævede kampe, opsamlingsgrupper, flag og erstatningseksempel.

Understøtter $1, $2 og navngivne referencer som $<navn>; $& indsætter hele kampen. Lad være tom for at skjule forhåndsvisningen.

Behandler... 0%

Resultat

Denne side åbner med et kodeordspolitikmønster bygget udelukkende ud fra lookaheads: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Hver (?=…) er en nul-bredde kontrol, der scanner hele linjen uden at forbruge den: man kræver et lille bogstav, et stort bogstav, et et ciffer, et et specialtegn - og først derefter .{8,} håndhæver minimumslængden.

Her har flagene betydning: m gør ^ og $ forankre til hver linje i stedet for hele teksten, og g finder hver linje, der kvalificerer sig. Det gør testeren til en tjekliste - prøven indeholder fem kandidatadgangskoder, og kun linjerne, der opfylder alle fire lookaheads, lyser op. Se med et øjeblik, hvorfor password123 mislykkes (ingen store bogstaver, ingen specialtegn), mens Tr0ub4dor&3 passerer.

Lookaheads er standardmåden til at udtrykke "skal indeholde X et eller andet sted"-betingelser i et enkelt udtryk, og denne forudindstilling er en sikker legeplads til at lære dem. Stram politikken til mere end 12 tegn, tilføj en (?!.*(.)\1\1) check mod tredobbelte gentagelser, eller indsæt en liste over rigtige kandidatadgangskoder - hver ændring revurderes øjeblikkeligt, og intet, du skriver, forlader din browser.