正则表达式在JavaScript中不起作用

时间:2014-07-21 16:40:25

标签: javascript regex angularjs match string-matching

我有一个正则表达式的问题,我在一些网站测试了它,但它正在工作,但当我在项目中使用该正则表达式时,它与正确的结果不匹配。正则表达式如下

^(http|https)\://(www\.)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*$

我需要那种正则表达式,因为我需要验证类似的东西:

http://www.test.com
https://www.test.com/login

我正在使用的代码如下

var pattern = new RegExp(URL_REGEXP);
if (pattern.test($('input.editValueText').val()))

1 个答案:

答案 0 :(得分:2)

您忘记在最后一个字符类之后添加+。你的正则表达式是,

^(http|https):\/\/(www\.)[a-zA-Z0-9-.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9])?\/?([a-zA-Z0-9-._\?\,\'\/\+&%\$#\=~]+)*$

DEMO