javascript - 有没有办法检查输入值是否包含特定的键码?

标签 javascript arrays keycode

我有一个 keyCodes 数组,我需要检查该数组中是否不包含文本区域中的任何字符。虽然检查按下的键是否在数组中很容易,但不幸的是,如果假设文本粘贴在文本区域中,则它不起作用。

如果具有 keyCode 的字符存在于不在数组中的文本区域中,那么我对文本区域的字符限制就会发生变化。例如,如果 š (83) 的 keyCode 不在数组中,它将据此更改字符限制。

 dec_codes=[10, 12, 13, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,...]

我不知道还需要提供什么其他代码。

是的,我知道检查数组是否是字符而不是 keyCodes 会更好,但是数组是为我提供的,我只是想知道我是否可以实现我所需要的而无需转换数组。

最佳答案

您好,您可以监听文本区域中的任何输入,并将其文本的分割版本与您的字符代码进行比较,charCodeAt 和一些方法在这里非常有用,例如

function checker(charCodes, text) {
    return text.split().some(char => charCodes.indexOf(char.charCodeAt(0)) > -1);
}


textareaNode.addEventListener('input', event => {
    if(checker([101,105], event.target.value)){
        // char code exists
    } 
})

关于javascript - 有没有办法检查输入值是否包含特定的键码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959350/

相关文章:

c++ - 将动态数组包装到 STL/Boost 容器中?

c - Linux C-keyMapping keyCodes

javascript - 如何组合关键代码以在 javascript 中协同工作

javascript - Android WebView 数据库存储返回null

javascript - Chrome : Call Javascript function from (system) command line?

javascript - 如何在没有数组作为键的情况下获取 JSON 数据?

javascript - 使用 jQuery 传递浏览器宽度后重置切换功能

javascript - 嵌套 for in 循环,不工作 JavaScript

c++ - 数组大小错误 x64 进程

javascript - 捕获 KeyCode 时出现键盘错误声音