Regex Kata Sandi yang Kuat — Penjelasan Aturan Lookahead
Debug ekspresi reguler JavaScript secara langsung: kecocokan yang disorot, grup pengambilan, tanda, dan pratinjau pengganti.
Hasil
Halaman ini dibuka dengan pola kebijakan kata sandi yang seluruhnya dibuat dari lookahead: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Masing-masing (?=…) adalah pemeriksaan dengan lebar nol yang memindai seluruh baris tanpa menggunakannya: yang satu memerlukan huruf kecil, yang satu lagi huruf besar, yang satu lagi digit, yang satu lagi karakter khusus — dan baru kemudian .{8,} menerapkan panjang minimum.
Bendera penting di sini: m membuat ^ dan $ berlabuh pada setiap baris, bukan seluruh teks, dan g menemukan setiap baris yang memenuhi syarat. Hal ini mengubah penguji menjadi daftar periksa — sampel berisi lima kandidat kata sandi, dan hanya baris yang memenuhi keempat tampilan ke depan yang menyala. Lihat sekilas mengapa password123 gagal (tanpa huruf besar, tanpa karakter khusus) sementara Tr0ub4dor&3 lolos.
Lookahead adalah cara standar untuk mengekspresikan kondisi "harus mengandung X di suatu tempat" dalam satu ekspresi, dan preset ini adalah tempat yang aman untuk mempelajarinya. Perketat kebijakan menjadi 12+ karakter, tambahkan tanda centang (?!.*(.)\1\1) terhadap pengulangan tiga kali lipat, atau tempelkan daftar kandidat kata sandi sebenarnya — setiap perubahan akan dievaluasi ulang secara instan dan tidak ada yang Anda ketikkan yang keluar dari browser Anda.