我總是發現正則表達式令人頭疼,而且使用谷歌搜索並沒有真正的幫助。我目前使用下面的表達式(的preg_match):/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
正則表達式電子郵件 - 如何在電子郵件中允許加號?
但是,如果我想允許用加號的電子郵件,這顯然是行不通的,如:[email protected]
我需要如何改變我的表情以允許它?在此先感謝您的幫助!
我總是發現正則表達式令人頭疼,而且使用谷歌搜索並沒有真正的幫助。我目前使用下面的表達式(的preg_match):/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
正則表達式電子郵件 - 如何在電子郵件中允許加號?
但是,如果我想允許用加號的電子郵件,這顯然是行不通的,如:[email protected]
我需要如何改變我的表情以允許它?在此先感謝您的幫助!
你應該只使用PHP的內置的正則表達式電子郵件驗證,因爲它涵蓋了所有的東西:
filter_var($email, FILTER_VALIDATE_EMAIL)
(用於實際獸或https://github.com/php/php-src/blob/master/ext/filter/logical_filters.c#L499)查看filter_var
和FILTER_VALIDATE_EMAIL
。
Yeap。這是一個很好的答案。 +1 – FailedDev
如果你想知道,'FILTER_VALIDATE_EMAIL'使用正則表達式。你可以在http://svn.php.net/viewvc/php/php-src/trunk/ext/filter/logical_filters.c?view=markup 525行看到它 –
謝謝 - 真棒答案!然而,它仍然不驗證[email protected] - 例如,我們說話時升級我的php,所以希望它在最新的穩定版本中得到修復! –
嘗試添加\+
流入焦炭收集[]
:
/^[_a-z0-9-]+(.[_a-z0-9-\+]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3})$/
你不應該使用正則表達式來驗證電子郵件地址(你願意妥協的單身人士)請參閱[這個問題](http://stackoverflow.com/questions/201323/what-is-the-best-regular-表達式爲驗證電子郵件地址) –