Nhận diện chữ số từ cả hai hàng
document.addEventListener('keydown', (e) => {
if (/^[0-9]$/.test(e.key)) {
console.log('digit', Number(e.key)); // top row or numpad
}
});Trên bàn phím AZERTY của Pháp, hàng số phía trên gõ ra ký hiệu (&, é, " …) khi không giữ Shift, nên e.key ở đó không phải là chữ số — thêm một lý do để kiểm tra e.key thay vì giả định theo vị trí.
Tìm Keycode JavaScript
Nhấn phím bất kỳ để xem ngay mọi thuộc tính của sự kiện bàn phím, kèm đoạn mã keydown sẵn sàng sao chép cho phím tắt.
Câu hỏi thường gặp
event.key với chữ số có phân biệt hoa thường không?
Chữ cái phụ thuộc vào Shift và Caps Lock: event.key thường là “a” và là “A” khi giữ Shift. event.code luôn là KeyA trong cả hai trường hợp.
Mã phím có thay đổi theo bố cục bàn phím không?
event.key thay đổi theo bố cục (trên bàn phím AZERTY của Pháp, vị trí A gõ ra Q); event.code luôn chỉ đến phím vật lý.
Có nên vẫn dùng keyCode không?
Không — nó đã lỗi thời. Hãy dùng event.key cho ký tự và event.code cho vị trí phím.