2014-02-05 58 views
0

我寫了我的Jquery腳本輸入數字只爲文本框。 以下是我的html代碼:Jquery腳本不工作只接受輸入數字

<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(); 
    } 
} }); 
+0

使用正則表達式來測試號碼 –

回答

0

檢查是否已包括了jquery任何version,也寫你的代碼$(document).ready()一樣,

$(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(); 
      } 
     } 
    }); 
}); 

Demo

+0

它對我來說工作得很好! – user3116267

0

鍵代碼的用於數字的範圍是[95105]。和[48,57]

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

    event.preventDefault(); 
} 
}); 
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/

我已經更新這裏的代碼檢查了這一點它按預期工作。