所以,我在我的郵件腳本中使用eregi,但最近,我得到的錯誤,該函數已棄用。替代eregi()在PHP
那麼,什麼是替代下面的代碼位的最簡單的方法:
if (!eregi("^[A-Z0-9._%-][email protected][A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email'])))?
任何幫助表示讚賞:)
所以,我在我的郵件腳本中使用eregi,但最近,我得到的錯誤,該函數已棄用。替代eregi()在PHP
那麼,什麼是替代下面的代碼位的最簡單的方法:
if (!eregi("^[A-Z0-9._%-][email protected][A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email'])))?
任何幫助表示讚賞:)
if (!preg_match("/^[A-Z0-9.%-][email protected][A-Z0-9.%-]+.[A-Z]{2,4}$/", trim($_POST['email'])))
使用的preg_match。
由於ereg_ *函數在PHP棄用> = 5.3
同樣對於電子郵件驗證更好地用於filter_var
if (!filter_var(trim($_POST['email']), FILTER_VALIDATE_EMAIL))
echo 'Email is incorrect';
感謝您的答覆,我現在試過了,但它現在不發送郵件。 我沒有收到測試郵件,使用eregi工作。 o.O? 我應該改變我的郵件腳本中的其他東西嗎? (如果你願意,你可以看看這裏的腳本http://pastebin.com/q7Mfym9q) – idjuradj 2013-02-23 22:30:58
@Nicholas用於電子郵件驗證更好的使用filter_var()查看我的答案。我更新了它的 – Winston 2013-02-23 22:36:32
恩,感謝您的跟進。我會考慮它。同時,我找到了解決方案。當我用這個 代替給定的行if(!preg_match(「/^[_ \。0-9a-zA-Z - ] + @([0-9a-zA-Z] [0-9a-zA-Z - ] + \。)+ [a-zA-Z] {2,6} $/i「,trim($ _ POST ['email']))){ 它有效:) – idjuradj 2013-02-23 22:42:15
[如何驗證在PHP電子郵件地址](http://stackoverflow.com/questions/12026842 /如何驗證電子郵件地址在PHP/12026863#12026863) – PeeHaa 2013-02-23 22:50:48