将文本框限制为仅介于1和99之间的整数

时间:2017-09-05 17:47:51

标签: javascript html input

我正在尝试添加一个只接受1到99之间整数的文本框。我尝试添加一个带有min和max的数字类型元素,但只有在使用自动收报机更改数字时才有效

Apple

我可以知道更好的方法吗?

更新

我想立即验证输入,可能是用空字符替换条目。

2 个答案:

答案 0 :(得分:1)

您可以使用JavaScript来验证关键事件(例如keyup)的输入。这是一个清除任何不是1到99之间整数的例子。



var inputBox = document.getElementById('inputBox');

inputBox.addEventListener('keyup', function(e) {
  inputBox.value = "" + inputBox.value;
  if (e.which < 48 || e.which > 57) {
    // if not an integer
    clearInput();
    return;
  }
  if (inputBox.value.toLowerCase() !== inputBox.value.toUpperCase()) {
    // if a letter
    clearInput();
    return;
  }
  if (parseInt(inputBox.value) < 1 || parseInt(inputBox.value) > 99) {
    // if value is not in the desired range
    clearInput();
    return;
  }
});

function clearInput() {
  // invalid entry -- clear out input box
  inputBox.value = "";
}

inputBox.focus(); // this is just for ease of testing
&#13;
<input id="inputBox" type="number" min="1" max="99" />
&#13;
&#13;
&#13;

答案 1 :(得分:0)

这个怎么样?这不应该允许负数,并且您只能使用2个字符。

<input type="number" min="1" max="99" maxlength="2" />