Javascript 评价正则表达式ng模式的AngularJS问题

Javascript 评价正则表达式ng模式的AngularJS问题,javascript,regex,angularjs,Javascript,Regex,Angularjs,我在输入文本中使用ng模式参数将输入限制为数值: <input type="text" ng-model="numericField" ng-pattern="/^[0-9]*$/" /> 但在正则表达式求值中有一个奇怪的行为:开始和结束空格被忽略 因此,如果我插入这些值(例如),我会得到不同的结果: “123”模式匹配 “123 4343”图案不匹配 在我的例子中,空格是不允许的(在字符串的任何位置) 更新我还需要解决允许字符值的其他输入(即电子邮件)的问题 那么我该如何解决

我在输入文本中使用
ng模式
参数将输入限制为数值:

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

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

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

“123”
模式匹配

“123 4343”
图案不匹配

在我的例子中,空格是不允许的(在字符串的任何位置)

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

那么我该如何解决这个问题呢?

为什么不使用:

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

html5行为是由angular在旧浏览器中实现的。

您可以在输入文本中添加
ng trim=“false”

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


看一看

完美!非常感谢你!