为什么匹配11-111
等邮政编码的以下正则表达不起作用?
<input type="text" ng-pattern="/^[0-9]{2}-[0-9]{3}$/" required />
答案 0 :(得分:1)
来自ng-pattern docs:
如果值与RegExp模式表达式不匹配,则设置模式验证错误键。对于内联模式,预期值为/ regexp /,对于定义为范围表达式的模式,预期值为正则表达式。
尝试设置范围变量:
$scope.regex = "/^[0-9]{2}-[0-9]{3}$/"
并更改模式输入
<input type="text" ng-pattern="regex" required />
答案 1 :(得分:0)
如果我在评论中提出的建议还不够,那么这个JsFiddle正在做你想要的 http://jsfiddle.net/wkzab/4/
似乎主要区别在于&#39; i&#39;在正则表达式结束时。
ng-pattern="/^[A-Z]{4}\d{6}[A-Z\d]{3}$/i"