首頁 >後端開發 >php教程 >如何在現代 PHP 中可靠地驗證電子郵件地址?

如何在現代 PHP 中可靠地驗證電子郵件地址?

DDD
DDD原創
2024-12-11 17:23:11501瀏覽

How Can I Reliably Validate Email Addresses in Modern PHP?

PHP 中的電子郵件驗證:現代方法

使用 PHP 時,驗證使用者輸入對於確保資料完整性至關重要。一項常見的驗證任務是驗證電子郵件地址。這是使用PHP 進行電子郵件驗證的簡單可靠的方法:

利用filter_var() 進行電子郵件驗證

filter_var() 函數提供了驗證電子郵件地址的便利方法:

$isValid = filter_var($email, FILTER_VALIDATE_EMAIL);

如果輸入字串是有效的電子郵件地址,則此函數傳回true,否則傳回false否則。

棄用 ereg() 並用 preg_match() 取代

在舊版的 PHP 中,ereg() 用於正規表示式匹配。然而,在PHP 5.3 及更高版本中,它已被棄用並被preg_match() 取代:

if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email)) {
    return true;
}

此正則表達式檢查:

  • 字符(a-z , 0-9, _ , -)
  • 句點(.)分隔字符
  • “@”符號
  • 域名(類似字母的字符,後跟可選句點和包含 2-3 個字母的 TLD)

其他注意事項

  • 案例敏感度: 請注意,電子郵件地址不區分大小寫。
  • TLD 驗證: 預設情況下,PHP 的 filter_var() 不驗證頂級域 (TLD) 的存在在網域名稱中。如果需要,您可以為此新增正規表示式檢查。
  • 編碼:如果您希望電子郵件中包含非 ASCII 字符,請考慮使用 IDNA 擴展或其他支援 Unicode 的庫。

以上是如何在現代 PHP 中可靠地驗證電子郵件地址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn