使用时
<input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" />
它也接受浮点数。如何使用它来阻止文本框接受整数以外的其他?
答案 0 :(得分:3)
由于您似乎在尝试获取电话号码,而不是通用号码,因此您可能希望使用tel
类型的input
:
<input type="tel" name="phoneno" class="required number" maxlength="15" pattern="\d{10}" id="ph" />
见MSDN on <input>
and its attributes。我已删除minlength
,因为它不是有效属性,但pattern
属性的正则表达式需要10个字符。如果您希望更灵活地使用您允许的电话号码格式,则可以更改该正则表达式 - 例如,您可以使用\d{10}|\d{3}-\d{3}-\d{4}
。
pattern
属性是实际验证文本看起来像电话号码所必需的。默认情况下,浏览器几乎不对tel
输入的内容进行验证;它主要只是向移动浏览器显示带数字的键盘。但您可以在pattern
属性中编写JavaScript正则表达式以用于验证(如MSDN页面所述)。
答案 1 :(得分:0)
您可以使用正则表达式对象:^\d+$
在Javascript Here中了解有关正则表达式使用的详情。
答案 2 :(得分:0)
JQuery解决方案
html留在它
<input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" />
<强> Jquery的强>
$(function (){$("#ph").blur(function (){
var regX = /^\d+$/;
if(regX.test($(this).val()) == false)
{
//do something it is not int. In this case clear value and alert message
$(this).val('');
alert("put integer");
}
});
});
答案 3 :(得分:-1)
在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;
}