Я знаю, что этому вопросу исполнился год, но я не предпочитаю выбранный ответ. Потому что он работает так, что показывает набранный символ, а затем удаляет его.
В отличие от этого, я предложу другой способ, который похож на Уилл, но он лучше, так как предотвращает показ персонажа. Также я добавил блок else if
, чтобы проверить, является ли символ числом, и тогда это хорошая функция для проверки числовых полей.
HTML
<input type="number" onkeydown="limit(this);">
JS
function limit(element)
{
var max_chars = 2;
if (arguments[1].char !== "\b" && arguments[1].key !== "Left" && arguments[1].key !== "Right") {
if (element.value.length >= max_chars) {
return false;
} else if (isNaN(arguments[1].char)) {
return false;
}
}
}