我只想接受输入中的字母,数字和逗号。只接受输入中的数字和字母
我已经试过
document.getElementById('input').onkeydown = function (e) {
const charCode = (typeof e.which === 'number') ? e.which : e.keyCode;
return (charCode >= 48 && charCode <= 57) || // numbers
(charCode >= 65 && charCode <= 90) || // letters
charCode === 188 // comma
};
它的工作原理,但它也拒绝使用箭头键,回车,删除和退格(和潜在的其他重要的键)。
我可以添加另一个or
子句,并告诉用户是否按下了箭头键,输入,删除或退格键,但这是正确的方法吗?我是否缺少一些钥匙?平板电脑,台式机和智能手机的关键代码是否相同?
编辑
,如果我还希望确保用户永远不会输入两个连续的逗号呢?所以它不会接受a,b,,c
?
会',1'是有效的输入?您能否在问题中包含对预期有效,无效输入的描述? – guest271314