Regex Kata Laluan Kuat — Dijelaskan Peraturan Pandang Hadapan
Nyahpepijat ungkapan biasa JavaScript secara langsung: padanan yang diserlahkan, kumpulan tangkapan, bendera dan pratonton gantian.
Hasilnya
Halaman ini dibuka dengan corak dasar kata laluan yang dibina sepenuhnya daripada pandangan: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Setiap (?=…) ialah semakan lebar sifar yang mengimbas keseluruhan baris tanpa memakannya: satu menuntut huruf kecil, satu huruf besar, satu digit, satu aksara khas — dan hanya kemudian .{8,} menguatkuasakan panjang minimum.
Bendera penting di sini: m menjadikan ^ dan $ berlabuh pada setiap baris dan bukannya keseluruhan teks, dan g mencari setiap baris yang layak. Itu menjadikan penguji menjadi senarai semak — sampel mengandungi lima kata laluan calon, dan hanya baris yang memenuhi keempat-empat pandangan yang menyala. Lihat sepintas lalu mengapa password123 gagal (tiada huruf besar, tiada aksara khas) manakala Tr0ub4dor&3 berlalu.
Lookaheads ialah cara standard untuk menyatakan keadaan "mesti mengandungi X di suatu tempat" dalam satu ungkapan, dan pratetap ini ialah taman permainan yang selamat untuk mempelajarinya. Ketatkan dasar kepada 12+ aksara, tambahkan tanda (?!.*(.)\1\1) terhadap ulangan tiga kali ganda atau tampal senarai kata laluan calon sebenar — setiap perubahan dinilai semula serta-merta dan tiada apa yang anda taip meninggalkan penyemak imbas anda.