1

I'm asking the user to enter a number, so how can I use a loop to make sure they enter a number? If they don't enter a number, I want to prompt the user again for a valid number. Then I would loop the prompt until a valid number is entered.

    var size = prompt('Enter a size');
    size = Number(size);
    console.log(size);
George
  • 41
  • 2
  • 5

4 Answers4

1

do {
      var size = prompt('Enter a size'),
          isNumber = isNaN(size);
      
      !isNumber && console.log(size);
    }
    while (isNumber);
kingshuk basak
  • 423
  • 2
  • 8
0
function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
var size = "";
while (!isNumber(size))
    size = prompt('Enter a size');;

using: Javascript - validation, numbers only

Community
  • 1
  • 1
Amr Magdy
  • 1,710
  • 11
  • 13
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);
}
Sasikumar
  • 863
  • 5
  • 9
0

Try this examples:

        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.
        }
toto
  • 1,180
  • 2
  • 13
  • 30