我有这个网址:
http://thisjs.blogspot.co.il/2015/01/blog-post_7.html
在javascript中,我有这种模式来检查它的有效性,由于某种原因返回false,这里缺少什么?
var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name
'((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address
'(\\:\\d+)?(\\/[-a-z\d%_.~+#!]*)*'+ // port and path
'(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string
'(\\#[-a-z\\d_]*)?$','i'); // fragment locator
if(!pattern.test(str)) {
return false;
} else {
return true;
}
我想在上面提到的网址上写到真的吗?我先在哪里看?
答案 0 :(得分:1)
你需要:
'(\\:\\d+)?(\\/[-a-z\\d%_.~+#!]*)*'+ // port and path
即。 \\d
代替\d
,否则您只是匹配文字d
而不是数字。