Vahva salasanan säännöllinen lauseke — Lookahead-säännöt selitetty
Korjaa JavaScriptin säännölliset lausekkeet livenä: korostetut osumat, kaappausryhmät, liput ja korvaavien esikatselu.
Tulos
Tämä sivu avautuu täysin ennakkoluuloista rakennetulla salasanakäytäntömallilla: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Jokainen (?=…) on nollaleveystarkistus, joka skannaa koko rivin kuluttamatta sitä: yksi vaatii pienen kirjaimen, toinen ison kirjaimen, yksi numeron, yksi erikoismerkin - ja vasta sitten .{8,} pakottaa vähimmäispituuden.
Liput ovat tärkeitä: m ankkuroi ^- ja $-merkit jokaiselle riville koko tekstin sijaan, ja g löytää jokaisen kelvollisen rivin. Tämä tekee testeristä tarkistuslistan – näyte sisältää viisi ehdokassalasanaa, ja vain kaikki neljää ennakointia vastaavat rivit syttyvät. Katso yhdellä silmäyksellä, miksi salasana123 epäonnistuu (ei isoja kirjaimia, ei erikoismerkkejä), kun taas Tr0ub4dor&3 menee ohi.
Ennakkonäkymät ovat tavallinen tapa ilmaista "täytyy sisältää X jossain" -ehdot yhdessä lausekkeessa, ja tämä esiasetus on turvallinen leikkipaikka niiden oppimiseen. Kiristä käytäntö yli 12 merkkiin, lisää (?!.*(.)\1\1) -tarkistus kolminkertaisten toistojen varalta tai liitä luettelo oikeista ehdokassalasanoista – jokainen muutos arvioidaan uudelleen välittömästi, eikä mitään kirjoittamaasi poistu selaimesta.