使用时
<input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" />
它也接受浮点数。如何使用它来防止文本框接受整数以外的内容?
使用时
<input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" />
它也接受浮点数。如何使用它来防止文本框接受整数以外的内容?
由于您似乎正在尝试获取电话号码,而不是通用号码,因此您可能希望使用以下tel
类型input
:
<input type="tel" name="phoneno" class="required number" maxlength="15" pattern="\d{10}" id="ph" />
请参阅MSDN on<input>
及其属性。我已删除minlength
,因为它不是有效属性,但该pattern
属性的正则表达式需要 10 个字符。如果您想在您允许的电话号码格式上更加灵活,您可以更改该正则表达式 - 例如,您可以使用\d{10}|\d{3}-\d{3}-\d{4}
.
该pattern
属性是实际验证文本看起来像电话号码所必需的。tel
默认情况下,浏览器对输入内容的验证很少;它主要只是向移动浏览器显示带有数字的键盘。但是您可以在属性中编写 JavaScript 正则表达式以pattern
用于验证(如 MSDN 页面所述)。
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");
}
});
});
您可以使用正则表达式对象:在此处^\d+$
了解有关 Javascript 中正则表达式用法的更多信息。
在 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;
}