2016-08-04 44 views
-3

我知道有一種在php編程語言中稱爲「PREG MATCH」的最佳方法。我想知道是否有任何其他方法在PHP驗證?哪個最好?我作爲一名職業PHP開發人員練習什麼方法?謝謝大家:)什麼是最好從/電子郵件驗證方法在PHP?

+0

沒有「最好」。它總是情境化的。 – Quentin

+0

在我看來,最好的方法就是PHP在內部爲您提供的一種方法。參見['filter_var()'](http://php.net/filter_var)的示例#1。 –

回答

0

如前所述上面的評論,這是情境。

大多數PHP框架都有自己的電子郵件和其他類型數據的驗證方法,但這些方法通常依賴於正則表達式(「PREG MATCH」)並執行額外的檢查(如果域中有任何DNS條目,等等。)。

此外,PHP內置函數filter_var()http://php.net/manual/en/function.filter-var.php)。如果提供的字符串不是有效的電子郵件地址,它應該返回false,但不幸的是它並不總是可靠的。

您可以隨時使用的Symfony驗證程序組件無框架:https://symfony.com/doc/current/validation.html

+0

是的,我喜歡這個答覆。非常感謝您提供這些信息。我以前不知道「symfony驗證器組件」。謝謝 :) – KabZab

0

您不能通過查看其格式來確定電子郵件地址是否有效。如果你嘗試,你犯了一個錯誤,使某些人無法註冊,即使使用有效的電子郵件地址。

很容易找到形式爲[email protected]的地址,但[email protected]呢?那麼[email protected]或任何更新的頂級域名呢?對於每個例子都可以列出的不尋常的地址格式,有一千我甚至沒有想過 - 你也不是。

你可以做一個簡單的檢查,如「這是否包含在某處的@?」如果你想快速排除某人輸入他們的名字而不是他們的電子郵件地址,或者基本的「填寫錯誤的盒子」類錯誤,但不要試圖挑選整個地址是否有效。

如果你真的需要知道,如果電子郵件地址是有效的有一個且只有一個辦法做到這一點:發送郵件到它,並有擁有者的(例如,通過單擊鏈接)