正则表达式在URL地址测试中失败

时间:2014-10-29 14:08:01

标签: javascript regex

我尝试构建一个Regular表达式来检查有效的URL地址。现在我测试了不同的地址,一切都很好,但那些下一个(有效)地址失败了:

    url = "http://example.com/tr/vvf/index.php/docs/po/trf"
   //url = "http://example-a.mydomain.com/test/ny" also not working

    var pattern = new RegExp("(https|ftp|http)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?");
    pattern.test(url)

我认为因为index.php/doc...任何想法如何解决它

1 个答案:

答案 0 :(得分:0)

只需使用正则表达式文字而不是RegExp对象:

var pattern = /(https|ftp|http):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/;

RegExp使用字符串,要求您进行双重转义,以便\w成为\\w