我只想接受輸入中的字母,數字和逗號。只接受輸入中的數字和字母
我已經試過
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