AngularJS - 邮政编码的正则表达式,如11-111

时间:2014-12-10 12:18:52

标签: regex angularjs

为什么匹配11-111等邮政编码的以下正则表达不起作用?

<input type="text" ng-pattern="/^[0-9]{2}-[0-9]{3}$/" required />

2 个答案:

答案 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"