javascript prompt number and continue prompting if answer is wrong

Art picture Art · Feb 24, 2013 · Viewed 35k times · Source

I need prompt the visitor for an integer between 1 and 100 and to continue prompting until a valid number is entered.

Here is what I have:

<script>

var number = parseInt(prompt("Please enter a number from 1 to 100", ""));

if (number < 100) {
    document.write("Your number (" + number + ") is matches requirements", "");
} else if (isNaN(number)) {
    parseInt(prompt("It is not a number. Please enter a number from 1 to 100", ""));
} else {
    parseInt(prompt("Your number (" + number + ") is above 100. Please enter a number from 1 to 100", ""));
}

</script>

It recognizes the number but fails to re-ask when the number is wrong. Can you please help me and explain what you added?

Thank you very much.

Answer

Rob M. picture Rob M. · Feb 24, 2013

Something like this should do the trick:

do{
    var selection = parseInt(window.prompt("Please enter a number from 1 to 100", ""), 10);
}while(isNaN(selection) || selection > 100 || selection < 1);