Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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是否有效: http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 这张支票对我来说足够了 我想在客户端做同样的测试 所以我创建了这个JSFIDLE: http://jsfiddle.net/alonshmiel/LZf7H/1830/ 我无法使正则表达式被识别: var regex = /http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?/i; 感谢您的

我在服务器端有一个正则表达式,用于检查url是否有效:

http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
这张支票对我来说足够了

我想在客户端做同样的测试

所以我创建了这个JSFIDLE:

http://jsfiddle.net/alonshmiel/LZf7H/1830/
我无法使正则表达式被识别:

var regex = /http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?/i;
感谢您的帮助

/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/
尝试此操作。退出
/
。请参阅演示


您需要避开所有正向斜杠

> var regex = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/i;
> regex.test("http://myweb.com/api/v1/customer")
true

您需要避开前斜杠
/
,因为它会被认为是javascript正则表达式模式的过早结束

var regex = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/i;

示例:

regex.test("http://test.com")
=> true

regex.test("http://www.test.com")
=> true

regex.test("http://abc.test.com")
=> true

这已经存在。请在发布之前检查answers@vks别这样问我。2或4秒的差异不是问题。我添加了一些单词,但你只发布了正则表达式。@Blender right!!!!但如果我发现之前有同样的帖子,我会删除我的答案anymore@AvinashRaj你为什么这么认为?@nu11p01n73R这与声誉无关……它与分离有关,所以第六个字符中的“?”没有说http和https不重要?我不明白为什么我在www.google.com上得到了错误的答案