Verwenden Sie die Regex/^ [0-9] + $ /, um die Eingabe des Textfelds zu beschränken, nur Zahlen zu akzeptieren. Es funktioniert gut, aber wenn die Typen etwas wie +124 dann auch das Textfeld nicht als ungültig setzt.ng-Muster erlaubt '+' Zeichen, wenn Regex auf Ziffern beschränkt
<form name="myForm" novalidate>
<input type="number" ng-model="age" name="age" ng-pattern="/^[0-9]+$/" />
<h3>Valid Status : {{myForm.age.$valid}}</h3>
</form>
Eingang: 123 Ausgang: myForm.age $ gültig - true
Eingang:. -123 Ausgang: myForm.age $ gültig - falsch
Eingang:. +123 Ausgang: myForm. . Alter $ gültig - true (sollte nicht wahr sein)
https://plnkr.co/edit/3OVE6qiWgJozUb3hyFQ5?p=preview
Verwenden 'type = "text"' –
@ WiktorStribiżew Warum kann es nicht mit type = "number" arbeiten ?? Mit type = "text" -Browsern können die Benutzer auch beliebige Zeichen eingeben. – vinnu313
Nun, reguläre Ausdrücke arbeiten mit * string * -Eingabe, Regex-Engines erlauben keinen anderen * type * als Eingabe. Also, nur "password", "text" sind normalerweise gültige Typen, die mit einer Regex funktionieren. –