如何使用10位数限制数字字段

时间:2017-04-04 13:22:12

标签: asp.net regex html5 user-input

我正在尝试创建一个文本字段,其中One可以键入他/她的移动号码仅10位数。没有间距划线昏迷或字母。我尝试使用给定链接中的以下正则表达式,但它无法正常工作。我正在使用chrome甚至尝试过提琴手。 我从this代码中获取了参考。



 <input type="number" pattern="^[0-9]{1,10}$" title="adc" />
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:2)

您需要使用type="text",然后使用\d{10}正则表达式。请注意,当<input> 类型 number 时,正则表达式验证不起作用。此外,pattern属性中的正则表达式默认是锚定的,这就是为什么你不需要锚点(^表示字符串的开头而$表示字符串的结尾)。 pattern="\d{10}"正则表达式将被翻译为/^(?:\d{10})$/模式,该模式与由10位数字组成的字符串匹配。

&#13;
&#13;
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 &gt;= 48 && event.charCode &lt;= 57"  />
 <input type="Submit"/> 
</form>
&#13;
&#13;
&#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();
    }
});