Tôi biết có rất nhiều câu hỏi ở đây về xác thực email và RegEx cụ thể. Tôi muốn biết các phương pháp hay nhất là để xác thực email liên quan đến việc có thủ thuật [email protected]
(details here). RegExp hiện tại của tôi để xác nhận JavaScript là như sau, nhưng nó không hỗ trợ thêm +
trong tay cầm:Thực tiễn tốt nhất để xác thực địa chỉ email (bao gồm cả + trong địa chỉ gmail)
/^([a-zA-Z0-9_.-])[email protected](([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/
Có bất kỳ các dịch vụ khác có hỗ trợ thêm +
? Tôi có nên cho phép một số +
trong địa chỉ hoặc tôi nên thay đổi RegEx để chỉ cho phép một email có số điện thoại gmail.com
hoặc googlemail.com
làm miền không? Nếu vậy, RegEx sẽ thay đổi điều gì?
CẬP NHẬT: Cảm ơn mọi người đã chỉ ra rằng +
hợp lệ cho mỗi thông số kỹ thuật. Tôi không biết điều đó và bây giờ làm cho tương lai. Đối với những người trong số các bạn nói rằng việc sử dụng RegEx để xác thực nó là xấu, lý do của tôi hoàn toàn dựa trên thiết kế sáng tạo mà tôi đang xây dựng. Thiết kế của khách hàng của chúng tôi đặt một kiểm tra màu xanh lá cây hoặc một X màu đỏ bên cạnh đầu vào địa chỉ email trên mờ của nó. Biểu tượng đó cho biết địa chỉ email hợp lệ của nó có phải vì vậy tôi phải sử dụng một số JS để xác thực nó không.
Đây không phải là một mẹo khi nó là một phần của tiêu chuẩn email. – tloach
Không sử dụng RegEx để xác nhận e-mail, ngoài việc bắt gặp sự mờ ảo rõ ràng. Chỉ cần gửi cho người dùng một tin nhắn e-mail có liên kết 'kích hoạt'. Không có quy trình đánh lừa để kiểm tra e-mail. Ít nhất không có gì phù hợp với một tờ giấy A4, ngay cả khi được in trong một phông chữ nhỏ, nhưng có thể đọc được ;-) (http://www.regular-expressions.info/email.html) – Duroth
@tloach Tôi coi đó là một thủ thuật nếu không phải tất cả các dịch vụ email đều hỗ trợ nó theo cách gửi email đến phần đầu của xử lý trước '+' bất kể phần nào sau '+' - tôi thậm chí không biết nó là một phần của tiêu chuẩn. –