Javascript 仅验证文本框中的整数
使用时Javascript 仅验证文本框中的整数,javascript,jquery,html,Javascript,Jquery,Html,使用时 <input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" /> 它也接受浮点数。如何使用此选项防止文本框接受除整数以外的其他值?您可以使用regex对象:^\d+$ 了解有关Javascript中正则表达式用法的更多信息。由于您似乎在尝试获取电话号码,而不是一般号码,因此您可能希望使用tel类型的input: <input t
<input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" />
它也接受浮点数。如何使用此选项防止文本框接受除整数以外的其他值?您可以使用regex对象:
^\d+$
了解有关Javascript中正则表达式用法的更多信息。由于您似乎在尝试获取电话号码,而不是一般号码,因此您可能希望使用
tel
类型的input
:
<input type="tel" name="phoneno" class="required number" maxlength="15" pattern="\d{10}" id="ph" />
看。我已经删除了minlength
,因为它不是一个有效的属性,但是pattern
属性的regex需要10个字符。如果您想在允许的电话号码格式上更加灵活,您可以更改该正则表达式,例如,您可以使用\d{10}| \d{3}-\d{3}-\d{4}
模式
属性对于实际验证文本是否像电话号码是必需的。默认情况下,浏览器很少验证tel
输入的内容;它主要只是向移动浏览器显示一个带有数字的键盘。但是您可以在模式
属性中编写JavaScript正则表达式以用于验证(如MSDN页面所述)。JQuery解决方案
html保持不变
<input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" />
在kypress事件上调用此函数 46代表小数点,只要去掉它,就可以了
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57)){
alert("First Contact Number must be a number(0-9) !");
return false;
}
return true;
}
函数isNumberKey(evt)
{
var charCode=(evt.which)?evt.which:event.keyCode;
如果(charCode!=46&&charCode>31
&&(字符编码<48 | |字符编码>57)){
警报(“第一个联系人号码必须是数字(0-9)!”;
返回false;
}
返回true;
}
在正则表达式上使用它不是更容易吗?老实说,弱正则表达式和答案的变体…+1对于最语义的选项,删除我的答案而代之以你的答案
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57)){
alert("First Contact Number must be a number(0-9) !");
return false;
}
return true;
}