如何驗證PHP腳本中的電子郵件地址

電子郵件地址:易於創建,難以打字。

許多人可能會出錯。 大多數人看起來都錯了,沒事。 很多東西看起來都不錯,根本不能工作。

獲取收集的電子郵件地址至少符合標準(如果不能確保的話)對於收發電子郵件或密碼檢索至關重要,而且非常棘手。

幸運的是,PHP(5和更高版本)帶有一組方便的函數和過濾器,可以對電子郵件地址有效性進行測試。

驗證PHP腳本中的電子郵件地址

在PHP中驗證電子郵件地址的正確性(而不是檢查地址是否實際正在工作並閱讀):

FILTER_VALIDATE_EMAIL PHP電子郵件地址驗證警告

請注意,FILTER_VALIDATE_EMAIL將驗證包含不存在的域和頂級域的電子郵件地址。 如果您想避免這些情況,您可以測試長度超過4個字符的頂級域名(它將錯誤地輸出“.museum”),或者對於長度為2個字符的域名 (所有國家/地區頂級域名)或者其中一個已知的頂級域名(當列表發生變化時,您將不得不更新)。

FILTER_VALIDATE_EMAIL會錯誤地使用長域名(64個字符或更多)的電子郵件地址,以及帶有轉義字符的電子郵件地址(例如“me \”@ example.com“)。為避免這些誤報 ,您可以轉向類如php-email-address-validation。

FILTER_VALIDATE_EMAIL電子郵件地址驗證示例

假設$ email_address包含要檢查的地址,則可以使用以下命令來驗證其有效性:

您還可以直接從網絡表單過濾電子郵件地址 (假設電子郵件地址是在名為“email”的字段中捕獲的):