Cách mẫu hoạt động
| Thành phần | Ý nghĩa |
|---|---|
^ | Đầu chuỗi |
[A-Za-z0-9._%+-]+ | Phần local: một hoặc nhiều chữ cái, chữ số, dấu chấm, gạch dưới, dấu phần trăm, dấu cộng hoặc dấu gạch ngang |
@ | Ký tự @ nguyên văn |
[A-Za-z0-9.-]+ | Tên miền, bao gồm cả subdomain |
\. | Dấu chấm nguyên văn trước tên miền cấp cao nhất |
[A-Za-z]{2,} | Tên miền cấp cao nhất: từ hai chữ cái trở lên (com, io, museum) |
$ | Cuối chuỗi |
Ví dụ code
JavaScript
const re = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}', value))PHP
preg_match('/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/', $value) === 1;
Ghi chú và giới hạn
Đây là mẫu thực tế mà hầu hết form đăng ký đang dùng. Nó chấp nhận một số địa chỉ kỳ lạ về mặt kỹ thuật (có hai dấu chấm liên tiếp) và từ chối một vài địa chỉ hợp lệ nhưng hiếm gặp (phần local có dấu ngoặc kép, tên miền dạng địa chỉ IP). Cách kiểm tra thật sự duy nhất đối với địa chỉ email là gửi liên kết xác nhận. Còn trong form HTML, <input type="email"> giúp bạn có kiểm tra hợp lệ từ trình duyệt mà không cần viết thêm gì.
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.