正在使用正則表達式/^[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的。 。年齡$有效 - 真(不應該是真實的)
https://plnkr.co/edit/3OVE6qiWgJozUb3hyFQ5?p=preview
使用'型= 「文本」' –
@WiktorStribiżew爲什麼不能具有type = 「數字」 工作嗎?使用type =「text」瀏覽器,用戶可以輸入任意字符。 – vinnu313
好吧,正則表達式使用* string *輸入,正則表達式引擎不允許任何其他*類型*作爲輸入。所以,只有「密碼」,「文本」通常是有效的類型,將與正則表達式一起工作。 –