AngularJS评估regex ng-pattern的问题

时间:2014-09-29 10:39:45

标签: javascript regex angularjs

我在输入文本中使用ng-pattern参数来限制输入到数值:

<input type="text" ng-model="numericField" ng-pattern="/^[0-9]*$/" />

但是在正则表达式评估中有一个奇怪的行为:开始和结束空格被忽略......

因此,如果我插入这些值(例如),我会得到不同的结果:

' 123 '模式匹配

' 123 4343 '模式不匹配

在我的情况下,不允许使用空格(在字符串的任何位置)。

更新我还需要解决问题,因为其他输入允许使用字符值(即电子邮件)

那我怎么解决这个问题呢?

2 个答案:

答案 0 :(得分:2)

为什么不使用:

<input type="number" ng-model="numericfield" />

html5行为是在旧浏览器中通过角度实现的。

答案 1 :(得分:0)

您可以在输入文字中添加ng-trim="false"

<input type="text" ng-model="numericField" ng-pattern="/^[0-9]*$/" ng-trim="false" />

看看here