正常表达的网址没有www,最后是.html?

时间:2015-02-04 07:53:30

标签: javascript regex

我有这个网址:

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;
            }

我想在上面提到的网址上写到真的吗?我先在哪里看?

1 个答案:

答案 0 :(得分:1)

你需要:

'(\\:\\d+)?(\\/[-a-z\\d%_.~+#!]*)*'+ // port and path

即。 \\d代替\d,否则您只是匹配文字d而不是数字。