在 PHP 中,驗證電子郵件地址可能是一項複雜的任務。雖然簡單的正規表示式看起來足夠了,但它們在處理 RFC 規範和異常的細微差別方面往往不夠。
最直接且可靠的方法是利用 filter_var( ) 功能。它使用預先定義的過濾器常數 FILTER_VALIDATE_EMAIL 來檢查格式正確的電子郵件地址:
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { // Invalid email address }
為了進一步加強驗證,您可以驗證 MX是否存在記錄電子郵件網域:
if (!checkdnsrr($domain, 'MX')) { // Invalid domain }
即使採取這些措施,也不能絕對保證電子郵件的存在。確認電子郵件仍然是驗證活躍帳戶的唯一可靠方法。
製作全面的正規表示式來驗證電子郵件地址幾乎是不可能的。試圖捕獲所有有效地址同時避免誤報是徒勞的。即使是 PHP 內建的 filter_var() 函數在某些情況下也會表現出其限制。
為了更深入地了解電子郵件驗證,建議深入研究RFC規格:
以上是如何在 PHP 中有效驗證電子郵件地址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!