我想在javascript中使用正则表达式来验证任何WebURL。
它应该接受以下格式:
google.com/...
www.google.com/...
http://google.com/...
https://google.com/...
我已经尝试了很多正则表达式。但没有人看起来很完美。下面是一些经过尝试的正则表达式: -
/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
/[a-z]+:\/\/(([a-z0-9][a-z0-9-]+\.)*[a-z][a-z]+|(0x[0-9A-F]+)|[0-9.]+)\/.*/
/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
/^(((ht|f){1}((tp|tps):[/][/]){1}))[-a-zA-Z0-9@:%_\+.~#!?&//=]+$/
我希望正则表达式只需要3个WWW.Not超过3个且不低于3个WWW。
答案 0 :(得分:0)
您如何看待:
((http|https|)\://){0,1}([w]{3}.){0,1}[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}
解释
((http|https|)\://){0,1}
用于可选协议(“”或“http://”或“https://”即可)([w]{3}.){0,1}
用于可选的www
字符串[a-zA-Z0-9\-\.]+
[a-zA-Z]{2,3}
用于域名后缀,例如:com,uk,biz,tv等。答案 1 :(得分:0)
这个匹配您的所有网址:
(https?://)?(www\.)?([a-zA-Z0-9_%]*)\b\.[a-z]{2,4}(\.[a-z]{2})?((/[a-zA-Z0-9_%]*)+)?(\.[a-z]*)?
尽管可能存在一个子域名,但仍然无法检查三个“W”。如果你真的需要这个检查,我会使用第二个正则表达式进行测试。
答案 2 :(得分:0)
这里有两种验证URL的方法
^(https?|ftp|file)://.+$
^((https?|ftp)://|(www|ftp)\.)[a-z0-9-]+(\.[a-z0-9-]+)+([/?].*)?$
试试这些......