Tips dan jebakan nyata dalam memvalidasi masukan seperti email, telepon, dan kode pos dengan regex.
Dalam validasi formulir, regex cocok untuk masukan yang formatnya teratur. Untuk memeriksa apakah seluruh string sesuai format, Anda harus mengunci kedua ujungnya dengan ^ dan $. Tanpa jangkar, string yang hanya cocok sebagian pun akan lolos sehingga validasi tertembus. Regex yang sama juga dapat langsung dipakai pada atribut input pattern di HTML.
Nilai dengan jumlah digit dan jenis karakter yang tetap seperti nomor telepon, kode pos, dan ID cukup ditangani dengan kelas karakter dan kuantifikator saja. Namun bila aturan terlalu dipersempit, Anda akan memblokir variasi yang valid seperti telepon internasional, skema kode pos baru, atau ada tidaknya tanda hubung. Amati dulu keberagaman data yang sebenarnya.
Jangan mencoba memvalidasi email secara sempurna dengan regex. Spesifikasi resmi (RFC 5322) terlalu rumit untuk direproduksi dengan regex praktis. Cukup periksa secara longgar apakah mengandung @ dan titik, lalu validasi sejatinya sebaiknya dilakukan dengan mengirim email konfirmasi.
Validasi regex di browser hanya untuk kenyamanan pengguna (UX), bukan garis pertahanan terakhir. Selalu validasi ulang di server, dan waspadai catastrophic backtracking (ReDoS) pada masukan tak tepercaya (lihat artikel kinerja di sumber daya).