正则表达式模式重复和ng无效

时间:2016-01-22 23:40:58

标签: angularjs regex validation ng-pattern

我有这样的模式

<input name="ip" ng-pattern="/^http:\/\/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:[0-9]{4,5}/" class="form-control full-width text-right" type="text" ng-model="resource.ip"/>

最后一部分{4,5}至少为4且不超过5.但是当我在结尾处键入超过5个整数时,表单不会更改为ng-invalid

这适用于http://www.regexr.com/

知道为什么我的输入允许超过5个字符?

1 个答案:

答案 0 :(得分:2)

只需添加$即可定义匹配结束。

^http:\/\/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:[0-9]{4,5}$

来自参考&gt; Archors&gt;端

  

匹配字符串的结尾,如果启用了多行标记(m),则匹配行的结尾。这匹配一个位置,而不是一个角色。