我希望有一个正则表达式,以下列方式验证url
http://www.google.com ->valid url
www.google.com ->valid url
google.com ->in-valid url
http://google.com ->in-valid url
我尝试过关注here
的正则表达式/(?:https?:\/\/)?(?:[a-zA-Z0-9.-]+?\.(?:[a-zA-Z])|\d+\.\d+\.\d+\.\d+)/
但它不会验证www
答案 0 :(得分:1)
您可以在PHP中使用此正则表达式:
$re = '~\b(?:https?://)?(www\.[^.\s]+\.[^/\s]+|\d+\.\d+\.\d+\.\d+)~';
此正则表达式会在可选www.
或htpp://
之前强制执行https://
。
PHP中的另一个选项是使用parse_url
函数并检查result['host']
数组条目。
答案 1 :(得分:0)
要匹配www
,您必须使用这样的正则表达式。
正则表达式: (?:https?:\/\/)?www\.[a-zA-Z0-9.-]+.[a-zA-Z]+|(?:\d\.?){4}
答案 2 :(得分:0)
将www
放入正则表达式:
/^(?:https?:\/\/)?(www(\.[\w-]+)+|\d+(\.\d+){3})/
我也对它进行了一些改进(因此它不匹配" www ......"等等)
请参阅live demo。