Jquery脚本不工作只接受输入数字

时间:2014-02-05 09:25:19

标签: javascript php jquery mysql validation

我已将Jquery脚本编写为仅为文本框输入数字。 以下是我的HTML代码:

<input type="text" name="mobile_number" id="mobile_number" maxlength="10" class="form-control input-md" placeholder="Mobile Number" required="required">

当我尝试输入某个值时,它同时接受数字和字符。

我的Jquery脚本是:

$("#mobile_number").keydown(function(event) {

if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 ) {

}
else {

    if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
        event.preventDefault(); 
    }   
 } });

4 个答案:

答案 0 :(得分:2)

$(document).ready(function () {
  //called when key is pressed in textbox
  $("mobile_number").keypress(function (e) {
     //if the letter is not digit then display error and don't type anything
     if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
        //display error message
        $("#errmsg").html("Digits Only").show().fadeOut("slow");
               return false;
    }
   });
});

http://jsfiddle.net/lesson8/HkEuf/1/

我已在此处更新了代码,请检查它是否按预期工作。

答案 1 :(得分:1)

或者,您可以尝试现有的解决方案,

像这样:http://firstopinion.github.io/formatter.js/demos.html

或者这个:http://www.decorplanit.com/plugin/

答案 2 :(得分:0)

检查您是否添加了version jquery $(function () { $("#mobile_number").keydown(function (event) { if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9) { } else { if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)) { event.preventDefault(); } } }); }); ,并在$(document).ready()中编写代码,

{{1}}

Demo

答案 3 :(得分:0)

数字的keyCode范围是[95,105];和[48,57]

$("#mobile_number").keydown(function(event) {
if ( (event.keyCode > 95 && event.keyCode <106)||(event.keyCode > 47 && event.keyCode <58)) {
}
else {

    event.preventDefault(); 
} 
});