18

我正在使用ng-pattern仅检查输入中的数字。但对我来说这行不通。我可以charactersnumber. 我该如何限制呢?

这是我的代码:

<div ng-app ng-controller="formCtrl">
<form name="myForm" ng-submit="onSubmit()">
    <input type="text" ng-model="price" name="price_field" ng-pattern="/^[0-9]/" required>
    <span ng-show="myForm.price_field.$error.pattern">Not a valid number!</span>
    <input type="submit" value="submit"/>
</form>
</div>

现场演示

4

4 回答 4

37

使用这个表达式

ng-pattern="/^[0-9]*$/"

更新 :

为了接受唯一的字符,你可以这样使用。

ng-pattern="/^[a-zA-Z]*$/"
于 2015-12-23T06:30:23.020 回答
7

试试这个正则表达式:它应该可以工作/^[0-9]+$/ + 符号用于接受一个或多个数字。

于 2015-12-23T06:31:07.453 回答
5

ng-pattern="/^[0-9]*$/"//改成

ng-pattern="/^\d{1,10}$/"

注意:'\d' 不仅可以检查 0-9,还可以检查许多数字,如希腊数字

于 2015-12-23T06:39:25.470 回答
0

对于反应形式

this.form = fb.group({

  number: ['', [Validators.required, Validators.pattern("^[0-9]*$")]]

})
于 2021-06-11T15:02:59.807 回答