如果输入了一个单词或负数,有没有一种方法可以循环此提示以重复自身?
Is there a way I can loop this prompt to repeat itself if a word or negative number are entered?
提示输入高低游戏的最大数量。如果没有输入正数,我需要提示重复。
var maxInput = prompt("Please choose the maximum number.");
var numberRounded = Math.round(maxInput);
let rules = document.getElementById("rules");
if (numberRounded > 1) {
message.innerHTML = (numberRounded + " is the max number!");
rules.innerHTML = ("Guess a number between 1 and " + numberRounded + "!");
} else if (isNaN(numberRounded)) {
var numberRounded = prompt("Please choose a number.");
} ```
您可以像这样使用正则表达式:
var userInputString="";
while(!userInputString.match(/^[1-9]+[0-9]*$/)) {
userInputString=prompt("Enter a positive whole number");
}
var userInputPositiveWholeNumber=Number(userInputString);
console.log(userInputPositiveWholeNumber);
直到用户输入一个正整数,循环才会退出。
此正则表达式有开头 - ^
和结尾 $
,但中间没有。
开头,继^
:
[1-9]
= 1 到 9 之间的数字(因此没有前导零)。
+
= 至少一个(前面的范围)。
结束,在 $
之前:
[0-9]
= 任何数字(0 到 9 之间)。
*
= 出现的非负计数 - none,一次,...无穷大(前面的范围)。
注意:有一个截止数字,其中较大的数字将采用 d.dddd+/-ed+ 格式,它们将失去准确性。
以前的版本:
第一部分 [1-9]+
确保输入以非零和减号的数字开头,并且除了 1 到 9 之间的数字外没有其他字符。
第二部分,[0-9]*
允许任何数字的任何(甚至零)数字跟在第一部分之后。
循环退出后,我们只需将字符串转换为数字。
提示输入高低游戏的最大数量。如果没有输入正数,我需要提示重复。
var maxInput = prompt("Please choose the maximum number.");
var numberRounded = Math.round(maxInput);
let rules = document.getElementById("rules");
if (numberRounded > 1) {
message.innerHTML = (numberRounded + " is the max number!");
rules.innerHTML = ("Guess a number between 1 and " + numberRounded + "!");
} else if (isNaN(numberRounded)) {
var numberRounded = prompt("Please choose a number.");
} ```
您可以像这样使用正则表达式:
var userInputString="";
while(!userInputString.match(/^[1-9]+[0-9]*$/)) {
userInputString=prompt("Enter a positive whole number");
}
var userInputPositiveWholeNumber=Number(userInputString);
console.log(userInputPositiveWholeNumber);
直到用户输入一个正整数,循环才会退出。
此正则表达式有开头 - ^
和结尾 $
,但中间没有。
开头,继^
:
[1-9]
= 1 到 9 之间的数字(因此没有前导零)。
+
= 至少一个(前面的范围)。
结束,在 $
之前:
[0-9]
= 任何数字(0 到 9 之间)。
*
= 出现的非负计数 - none,一次,...无穷大(前面的范围)。
注意:有一个截止数字,其中较大的数字将采用 d.dddd+/-ed+ 格式,它们将失去准确性。
以前的版本:
第一部分 [1-9]+
确保输入以非零和减号的数字开头,并且除了 1 到 9 之间的数字外没有其他字符。
第二部分,[0-9]*
允许任何数字的任何(甚至零)数字跟在第一部分之后。
循环退出后,我们只需将字符串转换为数字。