Cách xác thực địa chỉ email trong tập lệnh PHP

Địa chỉ email: dễ tạo, khó gõ.

Phần lớn có thể đi sai. Phần lớn có thể nhìn tất cả sai và được tất cả các quyền. Phần lớn có thể nhìn đúng và không hoạt động chút nào.

Lấy địa chỉ email bạn thu thập - để nhận bản tin, hoặc để lấy lại mật khẩu - ít nhất là tuân thủ các tiêu chuẩn (nếu không đảm bảo) là điều cốt yếu, tất nhiên, và cực kỳ phức tạp.

May mắn thay, PHP (5 trở lên) đi kèm với một bộ các chức năng và bộ lọc tiện dụng giúp kiểm tra tính hợp lệ của địa chỉ email một cách nhanh chóng.

Xác nhận địa chỉ email trong một tập lệnh PHP

Để xác thực địa chỉ email cho tính chính xác (không kiểm tra xem địa chỉ có thực sự hoạt động và đọc) trong PHP hay không:

FILTER_VALIDATE_EMAIL Xác thực địa chỉ email PHP

Lưu ý rằng FILTER_VALIDATE_EMAIL sẽ xác thực địa chỉ email chứa tên miền và tên miền cấp cao nhất không tồn tại. Nếu bạn muốn tránh những điều này, bạn có thể kiểm tra các tên miền cấp cao có độ dài hơn 4 ký tự (sẽ loại bỏ sai sót ".museum") hoặc cho các tên miền dài 2 ký tự (tất cả các quốc gia hàng đầu) tên miền cấp) hoặc một trong các tên miền cấp cao nhất đã biết (mà bạn sẽ phải cập nhật khi danh sách thay đổi).

FILTER_VALIDATE_EMAIL sẽ lầm bầm một cách sai lầm tại địa chỉ email có tên miền dài (64 ký tự trở lên) và tại địa chỉ email có ký tự thoát (chẳng hạn như "me \" @ example.com "). Để tránh những sai sót tích cực này , bạn có thể chuyển sang lớp như php-email-address-validation.

Ví dụ về xác thực địa chỉ email FILTER_VALIDATE_EMAIL

Giả sử $ email_address giữ địa chỉ cần kiểm tra, bạn có thể thử hiệu lực của nó bằng cách sử dụng:

Bạn cũng có thể lọc địa chỉ email trực tiếp từ biểu mẫu web (giả sử địa chỉ email đã được ghi trong trường có tên "email"):