我正在尝试创建一个文本字段,其中One可以键入他/她的移动号码仅10位数。没有间距划线昏迷或字母。我尝试使用给定链接中的以下正则表达式,但它无法正常工作。我正在使用chrome甚至尝试过提琴手。 我从this代码中获取了参考。
<input type="number" pattern="^[0-9]{1,10}$" title="adc" />
&#13;
答案 0 :(得分:2)
您需要使用type="text"
,然后使用\d{10}
正则表达式。请注意,当<input>
类型 number 时,正则表达式验证不起作用。此外,pattern
属性中的正则表达式默认是锚定的,这就是为什么你不需要锚点(^
表示字符串的开头而$
表示字符串的结尾)。 pattern="\d{10}"
正则表达式将被翻译为/^(?:\d{10})$/
模式,该模式与由10位数字组成的字符串匹配。
input:valid {
color: navy;
}
input:invalid {
color: red;
}
&#13;
<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>
&#13;
要禁止非数字输入,请将onkeypress="return (event.charCode == 8 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57"
添加到<input>
元素。
答案 1 :(得分:0)
尝试使用类似
的属性在控制器中验证它[RegularExpression("[0-9]{10}", ErrorMessage = "Please enter valid Number")]
答案 2 :(得分:0)
在控制器上使用以下attr: -
[RegularExpression(&#34; [0-9] {10}&#34;,ErrorMessage =&#34;输入有效数字&#34;)]
或者: 1- make输入字段的类型是数字
2-键入以下Js
$(&#39;#idInputTxt&#39;)。keypress(function(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();
}
});