Regex password complessa: spiegazione delle regole Lookahead
Debug delle espressioni regolari JavaScript in tempo reale: corrispondenze evidenziate, gruppi di acquisizione, flag e anteprima di sostituzione.
Risultato
Questa pagina si apre con un modello di policy della password creato interamente da lookahead: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Ciascuno (?=…) è un controllo a larghezza zero che scansiona l'intera riga senza consumarla: uno richiede una lettera minuscola, uno una lettera maiuscola, uno una cifra, uno un carattere speciale - e solo allora .{8,} impone la lunghezza minima.
I flag contano qui: m fa sì che ^ e $ siano ancorati a ciascuna riga invece che all'intero testo, e g trova ogni riga qualificata. Ciò trasforma il tester in una lista di controllo: l'esempio contiene cinque password candidate e solo le righe che soddisfano tutti e quattro i lookahead si illuminano. Scopri a colpo d'occhio perché password123 fallisce (nessuna lettera maiuscola, nessun carattere speciale) mentre Tr0ub4dor&3 passa.
I lookahead sono il modo standard per esprimere le condizioni "deve contenere X da qualche parte" in una singola espressione e questa preimpostazione è un terreno di gioco sicuro per apprenderle. Rendi più restrittiva la policy a più di 12 caratteri, aggiungi un controllo (?!.*(.)\1\1) contro le triple ripetizioni o incolla un elenco di password candidate reali: ogni modifica viene rivalutata immediatamente e nulla di ciò che scrivi lascia il tuo browser.