正则表达式模式重复和 ng-invalid

regex pattern repetition and ng-invalid

我有这样的图案

<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 个字符吗?

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

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

来自参考 > Archors > end:

Matches the end of the string, or the end of a line if the multiline flag (m) is enabled. This matches a position, not a character.