我有这个网址:
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;
}
我要在上述网址上显示true吗?我首先去哪里看?
最佳答案
您需要具备:
'(\\:\\d+)?(\\/[-a-z\\d%_.~+#!]*)*'+ // port and path
即
\\d
而不是\d
否则,您只是匹配文字d
而不是数字。