仅接受输入javascript中的数字和选项卡

时间:2018-03-05 05:56:29

标签: javascript key

我有一些文本字段,我希望用户只能编写数字,也希望TAB能够轻松地转到其他输入。我有这个javascript代码:

function validateNumbers(event) {

if(event.charCode >= 48 && event.charCode <= 57){
  return true;
 }
 return false;        
}

在HTML中,我使用属性 onkeypress 来调用该函数。

您能否帮助我使用我的代码来接受TAB密钥?

3 个答案:

答案 0 :(得分:1)

请注意,此代码无法在移动浏览器中使用。

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

答案 1 :(得分:0)

您可以在输入标记中使用a.filter(x => b.contains(x._2)) 属性,使用1,2等数字指定下一个需要关注的输入。

Here is an example based on your code

答案 2 :(得分:0)

取代keypress,处理keydown并删除所有非数字

&#13;
&#13;
var input = document.querySelectorAll( "input" );

Array.from( input ).forEach( function( el ){
   el.addEventListener( "keyup", validateNumbers );
});

function validateNumbers(event) 
{
    var inputObj = event.currentTarget;
    inputObj.value = inputObj.value.replace(/[^0-9]/g, "");
}
&#13;
<input/>

<input/>
&#13;
&#13;
&#13;