正規表現/^[0-9] + $ /を使用して、数字だけを入力できるようにテキストボックスの入力を制限します。それはうまくいきますが、タイプが+124のようなものであっても、テキストボックスを無効として設定していません。正規表現が数字に限定されている場合、ng-patternは '+'文字を許可します
<form name="myForm" novalidate>
<input type="number" ng-model="age" name="age" ng-pattern="/^[0-9]+$/" />
<h3>Valid Status : {{myForm.age.$valid}}</h3>
</form>
入力:123出力:myForm.age $有効 - 真
入力:-123出力:。myForm.age $有効 - 偽
入力:123出力:あるmyForm。年齢、有効な$ - 。真(trueであるべきではありません)
https://plnkr.co/edit/3OVE6qiWgJozUb3hyFQ5?p=preview
使用 'タイプ= "テキスト"'WiktorStribiż[email protected] –
は、なぜそれがタイプ= "数" を操作することはできません? type = "text"では、ユーザーは任意の文字を入力することができます。 – vinnu313
正規表現は* string * inputで動作しますが、正規表現エンジンは他の*タイプ*を入力として許可しません。だから、 'password'、' text'だけが通常正規表現で動作する有効な型です。 –