Kode tombol angka di JavaScript

Setiap tombol angka beserta event.key, event.code, dan keyCode yang sudah usang. Digit di baris atas memakai keyCode 48–57; digit numpad 96–105 dan event.code Numpad0–Numpad9.

Diperbarui

Tombolevent.keyevent.codekeyCode
00Digit0 / Numpad048 / 96
11Digit1 / Numpad149 / 97
22Digit2 / Numpad250 / 98
33Digit3 / Numpad351 / 99
44Digit4 / Numpad452 / 100
55Digit5 / Numpad553 / 101
66Digit6 / Numpad654 / 102
77Digit7 / Numpad755 / 103
88Digit8 / Numpad856 / 104
99Digit9 / Numpad957 / 105

Mendeteksi digit dari kedua baris

document.addEventListener('keydown', (e) => {
  if (/^[0-9]$/.test(e.key)) {
    console.log('digit', Number(e.key)); // top row or numpad
  }
});

Di keyboard AZERTY Prancis, baris atas mengetik simbol (&, é, " …) tanpa Shift, jadi e.key bukan digit di sana — alasan lain untuk menguji e.key alih-alih mengasumsikan posisinya.

Pertanyaan yang sering diajukan

Apakah event.key untuk angka huruf besar atau kecil?
Huruf mengikuti Shift dan Caps Lock: event.key biasanya “a” dan dengan Shift menjadi “A”. event.code tetap KeyA dalam kedua kasus.
Apakah kode tombol berubah mengikuti tata letak keyboard?
event.key berubah mengikuti tata letak (di keyboard AZERTY Prancis, posisi A mengetik Q); event.code selalu menyebut tombol fisiknya.
Apakah saya masih boleh memakai keyCode?
Tidak — sudah usang. Gunakan event.key untuk karakter dan event.code untuk posisi.