1

我有这样的模式

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

4

1 回答 1

2

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

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

参考 > Archors > end

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

于 2016-01-22T23:43:12.657 回答