我有这个网址:

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而不是数字。

10-06 00:02