Javascript prompt number and continue the request if the answer is incorrect

I need to invite a visitor for an integer from 1 to 100 and continue the request until the correct 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 cannot retry when the number is erroneous. Could you help me and explain what you added?

Many thanks.

+7
source share
3 answers

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); 
+8
source

Here's a recursive approach:

 var number = (function ask() { var n = prompt('Number from 1 to 100:'); return isNaN(n) || +n > 100 || +n < 1 ? ask() : n; }()); 
+2
source

Another approach:

 <html> <head> </head> <body onload="promptForNumber();"> <script> function promptForNumber( text) { if(text == '' ){ text = "Please enter a number from 1 to 100"; } var number = parseInt(window.prompt(text, "")); checkNumber(number); } function checkNumber(number){ if (number <= 100 && number >= 1) { document.write("Your number (" + number + ") matches requirements", ""); } else if (isNaN(number)) { promptForNumber("It is not a number. Please enter a number from 1 to 100", ""); } else { promptForNumber("Your number (" + number + ") is not between 1 and 100", ""); } } </script> </body> </html> 
+1
source

All Articles