我想创建一个文本字段,其中一个可以键入他/她的手机号码只有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位数..我可以写多少,因为我想:(这是问题。我可以告诉你的提琴手,如果你想 –