使用jQuery在输入中检测/预防Unicode(Alt NumPad)字符



我正在努力防止alt + numpad Unicode字符的输入。

alt键似乎没有在键盘上注册,无论如何将输入Unicode字符。(在下面的示例代码段中尝试类似'alt 1'的内容以了解我的意思。(

我尝试了以下尝试限制非数字字符的事情:

$("#myInput").on('paste keyup keydown change', function(event) {
    var $input = $(this);
    var value = $input.val();
    // remove whitespace
    value = value.replace(/s+/g, '');
    // remove unwanted characters
    value = value.replace(/[^0-9]+/g, '');
    $input.val(value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myInput" type="text">

我应该寻找一个事件,而不是上述4?(paste keyup keydown change(

我能够在键盘事件中预防它们...

function noteKeyPress(event) {
    if(event.code.slice(0,3) == 'Alt'){
        event.preventDefault();
        event.stopPropagation();
    }
}

此页面是一个很好的帮助

最新更新