如何获取文本框的无限值

我如何更改用户能够键入 0 到无穷大的值?因为此时只允许用户输入0-9。


function validate() {

  var values = document.getElementById("digit").value;


  if (/^[0-9]$/.test(values) == false) {

    document.getElementById("numbers").innerHTML = "This is not a number, number must be greater or equal to zero";

    return false;

  }

  return true;

}


DIEA
浏览 108回答 3
3回答

一只甜甜圈

使用typeof和三进制运算符+检查它是否大于等于 0function validate() {&nbsp; var value = document.getElementById("digit").value;&nbsp; if (!(!isNaN(+value) && value >= 0)) {&nbsp; &nbsp; document.getElementById("numbers").innerHTML = "This is not a number, number must be greater or equal to zero";&nbsp; &nbsp; return false;&nbsp; }&nbsp; document.getElementById("numbers").innerHTML = "";&nbsp; return true;}<input onkeyup="validate()" value="" id="digit" /><p id="numbers"></p>

喵喵时光机

您的正则表达式正在寻找字符串开头和结尾之间的一位且仅一位数字。尝试/^[0-9]$+/。意思+是“至少一个,最多无限”,无论它被卡住什么。

哆啦的时光机

使用本机方法Number.isInteger()检查最后一个字符是否为数字。如果没有,请切片。function validate(el) {  var lastChar = Number(el.value.slice(-1));  if (!Number.isInteger(lastChar)) {    el.value = el.value.substring(0, el.value.length - 1);  };}<input type="text" oninput="validate(this)">
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript