gpt4 book ai didi

javascript - 仅输入 : detect "capsLock" on keypress 中的数字

转载 作者:行者123 更新时间:2023-11-28 11:35:40 24 4
gpt4 key购买 nike

我创建了一个函数来防止用户在字段中输入除数字之外的任何内容(但允许使用“退格”、“输入”等有用的键...)

这里是一个 jsFiddle 的例子:http://jsfiddle.net/cWHRp/1/

以及 JavaScript 代码:

$('input').on('keypress', function (e) {
if (
// Allow "backspace", "tab", "enter", "escape" and "delete"
($.inArray(e.keyCode, [8, 9, 13, 27, 46]) !== -1) ||
// Allow "shift + decimal point" (= delete on numpad)
(e.shiftKey === true && e.keyCode == 110) ||
// Allow "Ctrl + A" and "Ctrl + C"
(e.ctrlKey === true && ($.inArray(e.keyCode, [65, 67]) !== -1)) ||
// Allow "end", "home", "left arrow", "up arrow", "right arrow" and "down arrow"
(e.keyCode >= 35 && e.keyCode <= 39) ||
// Allow "shift + classic numbers"
(e.shiftKey === true && e.keyCode >= 48 && e.keyCode <= 57) ||
// Allow numbers on numpad
(e.keyCode >= 96 && e.keyCode <= 105)
) {
return;
}
e.preventDefault();
});

即使使用shift+数字,它也能很好地工作。但我不知道当用户在键盘上打字时如何检测大写锁定是否打开。

请问您有办法解决这个问题吗?

提前谢谢您!

最佳答案

不要这样做,这会产生比解决的问题更多的问题。以下是一些更好的解决方案:

a) <input type="number" />

b) <input type="text" pattern="\d+" />

c) .replace(/[^\d]/g,'')change (或 keyup )事件监听器

d) 屏蔽输入插件

e) 客户端+服务器端验证(无论如何你都应该使用它)

关于javascript - 仅输入 : detect "capsLock" on keypress 中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22177046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com