Cách hoạt động của mẫu
| Phần | Ý nghĩa |
|---|---|
(?:\+1[-. ]?)? | Mã quốc gia +1 tùy chọn, theo sau là dấu phân cách tùy chọn |
\(?([2-9]\d{2})\)? | Mã vùng (nhóm 1), có thể đặt trong ngoặc đơn; không được bắt đầu bằng 0 hoặc 1 |
[-. ]? | Dấu gạch ngang, dấu chấm hoặc khoảng trắng tùy chọn |
(\d{3}) | Mã trung kế (nhóm 2) |
(\d{4}) | Số máy (nhóm 3) |
Ví dụ code
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;
Ghi chú và giới hạn
Ba nhóm này cho phép bạn chuẩn hóa mọi định dạng được chấp nhận, ví dụ thành ($1) $2-$3. Với số điện thoại quốc tế, hãy lưu theo định dạng E.164 và dùng thư viện như libphonenumber để xác thực thực tế.
Kiểm tra Regex
Nhập mẫu và xem các kết quả khớp được tô sáng ngay trong văn bản thử nghiệm.