仅对文本框中的整数进行验证

时间:2013-05-14 06:04:22

标签: javascript jquery html5

使用时

<input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" /> 

它也接受浮点数。如何使用它来阻止文本框接受整数以外的其他?

4 个答案:

答案 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;
    }