Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 包含连字符的URL验证的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 包含连字符的URL验证的正则表达式

Javascript 包含连字符的URL验证的正则表达式,javascript,regex,Javascript,Regex,我有一个用于URL验证的正则表达式,它工作正常,但如果URL包含连字符如www.I-card.com,则它不会通过,这是一个有效域,它应该通过它。这是我的正则表达式: ^((https?| ftp | smtp):\/\/)?(www.?[a-z0-9]+(\.[a-z]{2,}){1,3}(\.?\/?[a-zA-z0-9+)*\/?(\?[a-zA-z0-9-+=[a-zA-z0-9-%+=[a-zA-z0-9-%++=[a-zA-z0-9-%+&}$)试试这个版本: ^((https?|f

我有一个用于URL验证的正则表达式,它工作正常,但如果URL包含
连字符
www.I-card.com
,则它不会通过,这是一个有效域,它应该通过它。这是我的正则表达式:

^((https?| ftp | smtp):\/\/)?(www.?[a-z0-9]+(\.[a-z]{2,}){1,3}(\.?\/?[a-zA-z0-9+)*\/?(\?[a-zA-z0-9-+=[a-zA-z0-9-%+=[a-zA-z0-9-%++=[a-zA-z0-9-%+&}$
)试试这个版本:

^((https?|ftp|smtp):\/\/)?(www.)?[a-z0-9\-]+(\.[a-z\-]{2,}){1,3}(#?\/?[a-zA-Z0-9\-#]+)*\/?(\?[a-zA-Z0-9-_\-]+=[a-zA-Z0-9-%\-]+&?)?$

将一个
-
添加到第一个字符类:
[a-z0-9-]+
这个正则表达式有点疯狂。它匹配许多不是URL的内容,也不匹配许多是URL的内容。@melpomene你能给我举个例子吗?@DheerajAgrawal不匹配
http://EXAMPLE.COM
http://127.0.44.1/
http://cdn.xs4all.nl
。匹配
www“example.com
0.aa#1#2#3?-=%