javascript - 验证数字 1、2 和 3 时出现问题
问题描述
我目前正在执行一项任务,其中一个人必须选择洞穴 1、2 或 3。除了验证部分外,一切正常。此函数用于查看用户输入的数字是否小于 1、大于 3 或甚至没有数字。我正在尝试使用 while 循环来解决我的问题。我尝试在倒数第三个和第二个括号之间继续。
//Gets input from the user
guess = prompt("Which cave will you go in? 1, 2 or 3?");
valid(guess);
//Checks if the input is valid
function valid(number) {
while(isNaN(number) || number < 1 || number > 3){
alert("Please Try Again");
prompt("Which cave will you go in? 1, 2 or 3?");
if(number <= 1 || number >= 3){
break;
}
}
}
解决方案
您需要将第二个提示返回值存储在一个变量中。
此外,返回值prompt
始终是字符串,因此您也需要将其解析为 int 以进行正确比较,尽管 JS 会为您隐式转换它。
//Gets input from the user
guess = parseInt(prompt("Which cave will you go in? 1, 2 or 3?"));
valid(guess);
//Checks if the input is valid
function valid(number) {
while(isNaN(number) || number < 1 || number > 3){
alert("Please Try Again");
let number = parseInt(prompt("Which cave will you go in? 1, 2 or 3?"));
if(number <= 1 || number >= 3){
break;
}
}
}
推荐阅读
- angular-reactive-forms - 如何使用隐藏在 Angular FormBuilder 中的输入类型?
- typescript - 类型脚本对象一次应该允许一个特定的属性
- c# - 我怎样才能继续触摸“Kinematic”Rigidbody2D?
- python - Scrapy CrawlSpider 在 __init__ 期间停止执行
- python - 如何在蝗虫中调用 GRPC python 客户端?
- amazon-web-services - 如何在无服务器中为一个处理程序定义多个路径?
- jquery - modal-body 类中的值仅显示 Django 模型“hostels”的第一个对象
- python - 如何从 .mat 文件读入 python 列表?
- r - 如何突出显示 Bioconductor Enhancedvolcano 中的特定基因?
- c# - 如何在使用 TLS 1.3 时为 sslstream 设置签名算法