`ng-pattern` - 如何只检查数字?

`ng-pattern` - how to check for only numbers?

我正在使用 ng-pattern 检查输入中的唯一数字。但对我来说这是行不通的。我可以在 number 之后输入 characters。我该如何限制它?

这是我的代码:

<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>

Live Demo

使用这个表达式

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

更新:

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

ng-pattern="/^[a-zA-Z]*$/"

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

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

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

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

反应形式

this.form = fb.group({

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

})