我在输入文本中使用ng-pattern
参数来限制输入到数值:
<input type="text" ng-model="numericField" ng-pattern="/^[0-9]*$/" />
但是在正则表达式评估中有一个奇怪的行为:开始和结束空格被忽略......
因此,如果我插入这些值(例如),我会得到不同的结果:
' 123 '
模式匹配
' 123 4343 '
模式不匹配
在我的情况下,不允许使用空格(在字符串的任何位置)。
更新我还需要解决问题,因为其他输入允许使用字符值(即电子邮件)
那我怎么解决这个问题呢?
答案 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