Используйте event.key
, чтобы получить фактическое значение. Чтобы проверить, целое число, просто используйте isFinite
input.addEventListener("keydown", function(event) {
const isNumber = isFinite(event.key);
});
Другой вариант:
const isNumber = /^[0-9]$/i.test(event.key)
Более простым решением HTML было бы использование ввода типа number
. Он ограничивается только числами (вид).
<input type="number">
В любом случае вы должны очистить весь пользовательский ввод с помощью:
string.replace(/[^0-9]/g,'');