我正在使用此功能仅允许文本输入中的数字。
$('input').bind('keydown', function(e) {
var key = e.charCode || e.keyCode || 0;
return (
key == 8 ||
key == 9 ||
key == 46 ||
(key >= 37 && key <= 40) ||
(key >= 48 && key <= 57) ||
(key >= 96 && key <= 105));
});
我如何才允许复制和粘贴?我已经尝试添加键码17进行控制,但它仍然不起作用。
对于组合键,您需要做些什么特别的事情吗?
由于
答案 0 :(得分:5)
最好用以下的东西:
$('input').bind('keyup', function(e) {
this.value = this.value.replace(/[^0-9]/g,'');
});
或者您也可以使用change
事件。在这种情况下,无论数据如何进入字段,都将进行验证(并删除非数字输入)。
答案 1 :(得分:-2)
记录按下的最后一个键码。由于您正在使用onkeydown
,因此cmd-v将显示为具有键代码224(cmd)的事件,然后显示为具有键代码86(v)的事件。如果前一个键与cmd和后一个v匹配,则允许它通过。
(您可能也会检查Windows / Linux pasters的ctrl)