Javascript 无法识别正则表达式url
我在服务器端有一个正则表达式,用于检查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; 感谢您的
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上得到了错误的答案