Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在无效输入后提示用户重新输入数字_Javascript_Html_Prompt - Fatal编程技术网

Javascript 如何在无效输入后提示用户重新输入数字

Javascript 如何在无效输入后提示用户重新输入数字,javascript,html,prompt,Javascript,Html,Prompt,我有一个用户被提示输入一个数字,这将是一个随机数之间的最大数字。如果他们在第一次提示时输入一个数字,并且该代码选择一个介于1和输入的最大数字之间的随机数,则该代码将起作用。如果用户未输入数字(即输入字母或符号),我希望再次提示用户输入数字。我还需要添加代码,以确保输入的数字是正数 让num_guess=0 让我们试试看 设max_num=Number(提示(“输入最大值:”); 如果(isNaN(最大数量)){ //需要重新提示用户输入有效的最大数字,并确保在输入正数之前用户将一直收到提示 }

我有一个用户被提示输入一个数字,这将是一个随机数之间的最大数字。如果他们在第一次提示时输入一个数字,并且该代码选择一个介于1和输入的最大数字之间的随机数,则该代码将起作用。如果用户未输入数字(即输入字母或符号),我希望再次提示用户输入数字。我还需要添加代码,以确保输入的数字是正数

让num_guess=0
让我们试试看
设max_num=Number(提示(“输入最大值:”);
如果(isNaN(最大数量)){
//需要重新提示用户输入有效的最大数字,并确保在输入正数之前用户将一直收到提示
}
设num=Math.floor(Math.random()*max_num)+1;
console.log(最大值)
console.log(num)
函数do_guess(){
让guess=Number(document.getElementById(“guess”).value);
让message=document.getElementById(“message”);
如果(尝试,包括(猜测)){
message.innerHTML=“该数字已被猜测,请重试”
}else if(isNaN(猜测)){
message.innerHTML='这不是一个数字!';
}else if(猜测最大值){
message.innerHTML='该数字不在范围内,请重试';
}else if(猜测>数值){
message.innerHTML=“否,请尝试较低的数字。”;
猜猜看++
尝试。推(猜)
}else if(猜测}
您可以创建一个调用输入的函数。如果输入无效,则从函数内部再次调用该函数

让num_guess=0;
让我们尝试=[];
设max_num=0;
//添加此功能可在输入有效输入之前一直提示用户。
函数getInput(){
var inputValue=Number(提示(“输入最大值:”);
if(isNaN(输入值)){
返回getInput();
}
否则{
返回输入值;
}
}
max_num=getInput();
设num=Math.floor(Math.random()*max_num)+1;
console.log(最大值)
console.log(num)
函数do_guess(){
让guess=Number(document.getElementById(“guess”).value);
让message=document.getElementById(“message”);
如果(尝试,包括(猜测)){
message.innerHTML=“该数字已被猜测,请重试”
}else if(isNaN(猜测)){
message.innerHTML='这不是一个数字!';
}else if(猜测最大值){
message.innerHTML='该数字不在范围内,请重试';
}else if(猜测>数值){
message.innerHTML=“否,请尝试较低的数字。”;
猜猜看++
尝试。推(猜)
}else if(猜测}
您可以在

让max_num;
做{
max_num=数字(提示(“输入最大数字:”);
}while(isNaN(最大数量))
设num=Math.floor(Math.random()*max_num)+1;

log({max_num,num})
很好地使用了do…while循环!DanMullin没有看到太多这样的情况。@DanMullin这通常是在你需要一个while循环的时候,但你肯定需要它运行一次。我不经常使用它们,有时甚至会忘记它的存在。我也不知道,我必须说,在20多年的开发中,我使用它的次数不到10次:谢谢你能抓住它。我把答案固定住了。