在用户输入有效输入之前执行while循环

时间:2019-03-30 00:47:52

标签: javascript

我需要创建一个do while循环,以接受任何用户输入,直到输入数字为止。我的循环未按预期执行。请帮忙。 没有最大值和最小值怎么办?

var number;
var minimum = 1;
var maximum = 20
window.prompt("Please enter a number between 1 and 20");
do {


  if (number >= minimum && number <= maximum)
    break;
  else(window.prompt("Invalid input, please enter a number between 
        1 and 20 "));
      }
      while (number < minimum || number > maximum);

1 个答案:

答案 0 :(得分:2)

下面的代码为您工作。

与您的基本相同,但是我使它更加高效和可读。

我为您改变的一些事情是:

  1. window.promptprompt做同样的事情。换句话说,window是不必要的输入,因此仅使用prompt
  2. prompt仅要求输入。它不会将其存储在任何地方,也不会对其进行任何处理。为了使您能够执行任何操作,需要将变量的值设置为等于它。我将number设置为等于prompt
  3. 您可以使用isNan()来检查它是字符串还是数字。

var number = prompt("Please enter a number between 1 and 20");
var minimum = 1;
var maximum = 20

do {
  if (isNaN(number)) {
    break;
  }
  else {
    number = prompt("Please enter a valid number between 1 and 20");
  }
}
while (!isNaN(number));