我想創建一個文本字段,其中一個可以鍵入他/她的手機號碼只有10位數字。沒有間距短劃線昏迷或字母表。我嘗試從給定的鏈接使用以下正則表達式,但它不起作用。我正在使用chrome,甚至嘗試過小提琴手。 我參考了this的代碼。如何限制只有10位數字字段
<input type="number" pattern="^[0-9]{1,10}$" title="adc" />
我想創建一個文本字段,其中一個可以鍵入他/她的手機號碼只有10位數字。沒有間距短劃線昏迷或字母表。我嘗試從給定的鏈接使用以下正則表達式,但它不起作用。我正在使用chrome,甚至嘗試過小提琴手。 我參考了this的代碼。如何限制只有10位數字字段
<input type="number" pattern="^[0-9]{1,10}$" title="adc" />
您需要使用type="text"
,然後使用\d{10}
正則表達式。請注意,當您的<input>
類型是號碼時,正則表達式驗證不起作用。此外,pattern
屬性中的正則表達式默認爲錨定,這就是爲什麼您不需要錨點(字符串的開始爲^
,字符串的末尾爲$
)。 pattern="\d{10}"
正則表達式將被翻譯成/^(?:\d{10})$/
模式,該模式匹配由正好10個數字組成的字符串。
input:valid {
color: navy;
}
input:invalid {
color: red;
}
<form name="form1">
<input type="text" pattern="\d{10}" title="Error: 10 digits are required." onkeypress="return (event.charCode == 8 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57" />
<input type="Submit"/>
</form>
要禁止一個非數字輸入,添加onkeypress="return (event.charCode == 8 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57"
到<input>
元件。
這裏是你在js小提琴的工作,它不工作,也接受字母 https://jsfiddle.net/z5om6ozh/1/ –
你可以*類型*任何東西,但不*提交*任何東西。這是'pattern'屬性的用途。這是一個*最終的,即時提交*輸入驗證。不允許使用正則表達式來實現非數字輸入,請參閱我的更新。 –
好的這是有道理的..我會用這個。作爲替代感謝:) –
嘗試使用這樣
[RegularExpression("[0-9]{10}", ErrorMessage = "Please enter valid Number")]
我不能在HTML5中執行它嗎? –
你可以,但是在後端而不是前端進行適當的ASP.NET驗證。通過使用前端驗證,用戶可以輕鬆修改dom與瀏覽器的開發者工具並提交錯誤的數據 –
這是一個很好的提示,但這是一個個人內部系統我只是想知道這是否可能。我無法做到這一點。因此在這裏問。:) –
屬性驗證它在控制器上使用控制器的以下ATTR: -
[正則表達式(「[O- 9] {10}「,ErrorMessage =」輸入有效號碼「)]
或者: 1-化妝輸入字段的類型是數
2-類型下面的js
$( '#idInputTxt')按鍵(函數(e)中{
if (this.value.length == 10|| (e.which > 57 && e.which < 65) ||
(e.which > 90 && e.which < 97) || (e.which > 122) ||(e.which < 48 || e.which > 57))
{
e.preventDefault();
}
});
。
好吧,我會如果沒有解決方案在HTML5中做?有沒有?請 –
我更新了我的答案..請再次檢查..謝謝 –
您需要使用'type =「text」'。並刪除'^'和'$',並且由於您需要10位數字,所以用'{10}'代替'{1,4}'。 –
編輯我的問題與我的代碼 –
使用這個我不僅限於正確的10位數..我可以寫多少,因爲我想:(這是問題。我可以告訴你的提琴手,如果你想 –