Detectando um dígito em qualquer linha
document.addEventListener('keydown', (e) => {
if (/^[0-9]$/.test(e.key)) {
console.log('digit', Number(e.key)); // top row or numpad
}
});Em teclados AZERTY franceses, a linha superior digita símbolos (&, é, " …) sem Shift, então e.key não é um dígito ali — mais um motivo para testar e.key em vez de presumir posições.
Verificador de Keycode JavaScript
Pressione qualquer tecla e veja na hora todas as propriedades do evento de teclado, com um trecho keydown pronto para copiar para atalhos.