Cara kerja pola
| Bagian | Arti |
|---|---|
(?:\+1[-. ]?)? | Kode negara +1 (opsional), diikuti pemisah (opsional) |
\(?([2-9]\d{2})\)? | Kode area (grup 1), boleh diapit tanda kurung; tidak boleh diawali 0 atau 1 |
[-. ]? | Tanda hubung, titik, atau spasi (opsional) |
(\d{3}) | Kode pertukaran (grup 2) |
(\d{4}) | Nomor saluran (grup 3) |
Contoh kode
JavaScript
const re = /^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})', value))PHP
preg_match('/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/', $value) === 1;
Catatan dan batasan
Ketiga grup memungkinkan kamu menormalkan format apa pun yang diterima, misalnya menjadi ($1) $2-$3. Untuk nomor internasional, simpan dalam format E.164 dan gunakan library seperti libphonenumber untuk validasi yang sesungguhnya.
Regex Tester
Ketik pola dan lihat hasil cocok langsung ter-highlight di teks ujimu.