仅接受javascript输入中的数字和制表符

仅接受javascript输入中的数字和制表符,javascript,key,Javascript,Key,我有一些文本字段,我希望用户只写数字,也可以轻松地转到其他输入。我有以下javascript代码: function validateNumbers(event) { if(event.charCode >= 48 && event.charCode <= 57){ return true; } return false; } 函数验证枚举(事件){ 如果(event.charCode>=48&&event.charCode,则可以在输入标

我有一些文本字段,我希望用户只写数字,也可以轻松地转到其他输入。我有以下javascript代码:

function validateNumbers(event) {

if(event.charCode >= 48 && event.charCode <= 57){
  return true;
 }
 return false;        
}
函数验证枚举(事件){

如果(event.charCode>=48&&event.charCode,则可以在输入标记中使用
tabindex=“1”
属性,使用1,2等数字指定下一步需要聚焦的输入


小心,这些代码在移动浏览器中不起作用

$(document).ready(function() {
    $("#txtboxToFilter").keydown(function (e) {
        // Allow: backspace, delete, tab, escape, enter and .
        if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
             // Allow: Ctrl+A, Command+A
            (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) || 
             // Allow: home, end, left, right, down, up
            (e.keyCode >= 35 && e.keyCode <= 40)) {
                 // let it happen, don't do anything
                 return;
        }
        // Ensure that it is a number and stop the keypress
        if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
            e.preventDefault();
        }
    });
});
$(文档).ready(函数(){
$(“#txtboxToFilter”).keydown(函数(e){
//允许:退格、删除、制表符、转义、输入和。
如果($.inArray(例如,keyCode[46,8,9,27,13,110,190])!=-1||
//允许:Ctrl+A、Command+A
(e.keyCode==65&&(e.ctrlKey==true | | e.metaKey==true))|
//允许:起始、结束、左、右、下、上

(e.keyCode>=35&&e.keyCode而不是
keypress
,处理
keydown
并删除所有非数字值

var input=document.querySelectorAll(“输入”);
数组.from(输入).forEach(函数(el){
el.addEventListener(“键控”,验证枚举器);
});
函数验证枚举数(事件)
{
var inputObj=event.currentTarget;
inputObj.value=inputObj.value.replace(/[^0-9]/g,”);
}


您希望文本字段也接受十进制值吗?是的,整数和小数工作得很好,但我发现,减号(-)现在被禁用,我不能输入负数,我如何解决这个小问题?谢谢您可以在if语句中使用
event.charCode==45
。我已经更新了