Cách hoạt động của mẫu
| Phần | Ý nghĩa |
|---|---|
(?:0[1-9]|1[0-2]) | Tháng 01–12 đứng đầu (theo thứ tự kiểu Mỹ) |
\/ | Dấu gạch chéo (được escape cho literal JavaScript) |
(?:0[1-9]|[12]\d|3[01]) | Ngày 01–31 |
\d{4}$ | Năm bốn chữ số ở cuối |
Ví dụ mã
JavaScript
const re = /^(?:0[1-9]|1[0-2])\/(?:0[1-9]|[12]\d|3[01])\/\d{4}$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:0[1-9]|1[0-2])/(?:0[1-9]|[12]\d|3[01])/\d{4}', value))PHP
preg_match('/^(?:0[1-9]|1[0-2])\/(?:0[1-9]|[12]\d|3[01])\/\d{4}$/', $value) === 1;
Ghi chú và giới hạn
Để chấp nhận cả tháng và ngày một chữ số, hãy đổi 0[1-9] thành 0?[1-9] ở cả hai chỗ. Mẫu này không kiểm tra số ngày trong từng tháng, vì vậy bạn nên xác thực lại chính ngày đó sau khi nhận kết quả.
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.