2014-09-29 78 views
1

我使用在输入文本ng-pattern参数,来限制输入数值:AngularJS问题评估的正则表达式NG模式

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

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

所以,如果我插入这些值(例如)我得到不同的结果:

' 123 '模式匹配

' 123 4343 '模式不匹配

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

更新我也需要解决的问题的其他投入使char值(即电子邮件)

所以,我怎么能解决这个问题?

回答

0

您可以添加ng-trim="false"您输入文本:

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

看看here

+0

完美!非常感谢你! – davioooh 2014-11-10 14:55:56

2

为什么不直接使用:

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

HTML5行为是由角在旧的浏览器来实现。