"ng-pattern" - как проверить только номера?

Я использую ng-pattern для проверки только чисел на моем входе. Но для меня это не работает. Я могу ввести characters после number. Как я могу это ограничить?

вот мой код :

<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

3 ответов


использовать это выражение

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

обновление :

для принятия только символов, вы можете использовать, как это.

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

попробуйте это регулярное выражение: оно должно работать /^[0-9]+$/ + знак предназначен для принятия одной или нескольких цифр.


ng-pattern="/^[0-9]*$/" //заменить на

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

Примечание: '\d ' может проверить не только 0-9, также для многих цифр, как греческие цифры