[英]URL Validation Regex
據我所知,還有很多其他與標題類似的問題,但是我問這個問題的主要原因是我希望我的驗證盡可能完美。 這是我的解釋,哪個URL應該有效
http://
(如果提供,則匹配,否則跳過), domain.com
(應匹配並返回驗證) subdomain.domain.com
(應匹配並返回驗證) www.com
(應返回false) http://www.com
(應該返回false)
我根據自己的需要搜索了很多關於完美正則表達式的內容,但沒有成功,因此,我為什么要發表自己的看法,並在此處發布信息,以了解除http:// localhost之外,其他任何有效URL都會跳過還是不跳過。 如果是的話,請糾正我。
圖案:
((?:http | https | ftp)://)?(?:www。)?((?!www)[A-Z0-9] [A-Z0-9_-] *(?:。[A -Z0-9] [A-Z0-9 _-] *)+):?(\\ d +)?/?
我知道這實際上並不能直接回答您的問題,但是除了REGEX之外,您還可以使用帶有標志FILTER_VALIDATE_URL的filter_var() ,如果URL有效,則返回URL,否則返回FALSE:
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL));
// string(18) http://example.com
您可以在此處閱讀此功能使用的過濾器,尤其是有關VALIDATE_URL過濾器使用的標志的最后一行。
我實際上不知道它是如何在內部實現的,但是我想它比在野外互聯網中可以找到的許多正則表達式更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.