我尝试构建一个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...
任何想法如何解决它
答案 0 :(得分:0)
只需使用正则表达式文字而不是RegExp
对象:
var pattern = /(https|ftp|http):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/;
RegExp
使用字符串,要求您进行双重转义,以便\w
成为\\w
。