我在服务器端有一个正则表达式,用于检查url是否有效:
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
这项检查对我来说已经足够了。
我想在客户端进行相同的测试。
所以我创建了这个jsfiddle:
http://jsfiddle.net/alonshmiel/LZf7H/1830/
我无法识别正则表达式:
var regex = /http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?/i;
任何帮助表示赞赏!
答案 0 :(得分:1)
你需要逃避所有正斜杠。
> var regex = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/i;
> regex.test("http://myweb.com/api/v1/customer")
true
答案 1 :(得分:1)
您需要转义正斜杠/
,因为它将被视为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
答案 2 :(得分:0)