我最近升級到PHP 5.3.8,我有驗證用戶輸入一個電子郵件地址,使用「登記表問題filter_var」。 我希望確保在輸入有效的電子郵件地址時將其發佈到數據庫中,如果由於某種原因電子郵件地址的格式不正確,請通知用戶輸入有效的電子郵件地址。 所以我查了php.net,事實證明filter_var不存在於php 5.3.8 有誰知道在php中替代filter_var 5.3.8
回答
如果你只關心提供的電子郵件地址是語法上有效,例如RFC 2822兼容的,那麼此正則表達式將爲:
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
我還沒有證實這一點,我只是在這裏扮演魔鬼的擁護者,但我非常懷疑這個正則表達式是100%RFC兼容的檢查電子郵件語法。如果是這樣的話,FILTER_VALIDATE_EMAIL可能已經在使用它了,並且在互聯網上不會有五千萬個不同的正則表達式試圖做同樣的事情來獲得不同程度的成功(['Mail :: RFC822'](http: //www.ex-parrot.com/pdw/Mail-RFC822-Address.html)使用更長的一個例如)。 – FtDRbwLXw6
該網站的鏈接是http://www.php.net/manual-lookup.php?pattern=filter_var++%28PHP+5+%3E%3D+5.3.8&scope=quickref –
filter_var(PHP 5> = 5.2.0)
filter_var - 過濾與指定的過濾器的可變
文檔說它在5.3.8中存在就好,所以你應該可以使用它...
- 1. PHP - Filter_var替代?
- 2. filter_var的替代方案($ email,FILTER_VALIDATE_EMAIL)
- 3. 在使用HHVM時,是否有替代php中的「filter_var」函數?
- 4. Zend_Validate_EmailAddress vs filter_var(...,FILTER_VALIDATE_EMAIL)
- 5. PHP的filter_var FILTER_FLAG_ENCODE_HIGH
- 6. settype()vs filter_var()
- 7. PHP filter_var bug?
- 8. filter_var php問題
- 9. 用filter_var()和的preg_match()
- 10. PHP filter_var URL錯誤
- 11. 如何呼應filter_var
- 12. PHP的filter_var功能
- 13. PHP - BUG與filter_var和FILTER_VALIDATE_FLOAT
- 14. 使用filter_var()驗證日期?
- 15. filter_var()接受無效URL
- 16. filter_var VSヶ輛VS用htmlspecialchars
- 17. 何時使用filter_input()與filter_var()?
- 18. var_dump filter_var FILTER_SANITIZE_URL返回行爲
- 19. 替代替換
- 20. 代替代替使用PowerShell
- 21. 什麼是替代(替代())?
- 22. 替代蟒蛇代替
- 23. 替代
- 24. 替代
- 25. 替代
- 26. (。*)代替(。*?)
- 27. 替代
- 28. 替代
- 29. 使用filter_var驗證電子郵件PHP
- 30. PHP的filter_var()函數生成警告
我看不到在PHP 5.3.8中存在'filter_var'。你能提供一個鏈接到你閱讀的地方嗎?官方文檔稱它可用於PHP> = 5.2.0 – Brad
您將得到一個致命錯誤,而不是「無效」電子郵件地址。你可能誤解了允許的語法。這個地址是怎麼看的? - 如果真的需要編譯過濾器分機,可以使用[upgradephp](http://include-once.org/p/upgradephp/)提供有限的用戶區實現。 – mario