计算机和电话中javascript输入的差异

计算机和电话中javascript输入的差异,javascript,Javascript,我用js创建了一个数独游戏。程序只允许1-9个数字。当我在android手机上运行它时,程序将接受所有字母和数字 这就是代码在Android中不起作用的原因。我能做些什么来解决它 提前谢谢 $(document).ready(function() { $("input").keydown(function (e) { if ((e.shiftKey || (e.keyCode < 49 || e.keyCode > 57)) && (e.key

我用js创建了一个数独游戏。程序只允许1-9个数字。当我在android手机上运行它时,程序将接受所有字母和数字

这就是代码在Android中不起作用的原因。我能做些什么来解决它

提前谢谢

$(document).ready(function() {
    $("input").keydown(function (e) {
        if ((e.shiftKey || (e.keyCode < 49 || e.keyCode > 57)) && (e.keyCode < 97 || e.keyCode > 105)) {
            e.preventDefault();
        }
    });
});
$(文档).ready(函数(){
$(“输入”).keydown(函数(e){
如果((e.shiftKey | | |(e.keyCode<49 | | e.keyCode>57))和&(e.keyCode<97 | | e.keyCode>105)){
e、 预防默认值();
}
});
});

为什么不允许所有输入,然后在输入字段后对其进行细化:

$('input').on('input', function (e) {
    $(this).val($(this).val().replace(/[^1-9]/g, ''); //remove anything not 1-9
});

首先-将触摸设备的
更改为
,以便在键盘上显示数字

然后使用正则表达式过滤您的输入:

$(document).ready(function () {
    $("input").keyup(function () {
        $(this).val($(this).val().replace(/[^1-9]/g, ''));
    });
})

你的意思是当你点击文本时,它应该只显示右边的数字板???你的输入是不是
类型='number'
?使用模式是。但我不想要“0”digit@josutty然后使用这个。无需编写javascript和所有代码。