如何确保用户在Javascript中输入有效数字?

时间:2016-09-24 04:09:53

标签: javascript loops numbers nan

我要求用户输入一个数字,那么如何使用循环来确保输入一个数字呢?如果他们没有输入号码,我想再次提示用户输入有效号码。然后我会循环提示,直到输入有效数字。

    var size = prompt('Enter a size');
    size = Number(size);
    console.log(size);

4 个答案:

答案 0 :(得分:1)

do {
      var size = prompt('Enter a size'),
          isNumber = isNaN(size);
      
      !isNumber && console.log(size);
    }
    while (isNumber);

答案 1 :(得分:0)

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
var size = "";
while (!isNumber(size))
    size = prompt('Enter a size');;

使用: Javascript - validation, numbers only

答案 2 :(得分:0)

function promptLoop() {
    var size = prompt('Enter a size');
    size = Number(size);
    if (isNaN(size)) {
        alert("Must input numbers"); // optional
        promptLoop();
    }
    else console.log(size);
}

答案 3 :(得分:0)

试试这个例子:

        var size = prompt('Enter a size');
        //Test if is integer positive value.
        var patron = /^[0-9]+$/;
        if (patron.test(size)){
            //is a valid.
        }

        //Test if is integer negative or positive .
        patron = /^[-]?[0-9]+$/;
         if (patron.test(size)){
            //is a valid.
        }

        //Test if is decimal.
        patron = /^[-]?[0-9]+[\.]?[0-9]+$/;
         if (patron.test(size)){
            //is a valid.
        }