我需要根据以下标准验证GPA计算器的用户输入:
到目前为止,我已尝试过以下内容:
var gradeInputMessage = "Please enter your grade for course " +userInput;
var gradeInput = "";
gradeInput = prompt(gradeInputMessage);
while (
isNaN(gradeInput) || //grade input is a number
gradeInput <3 || gradeInput >7
)
{
alert ("invalid Course Grade. Please try again");
gradeInput = prompt(gradeInputMessage);
}
这似乎适用于数字3,4,5,6,7,但我不知道如何包含1.5
请原谅我的无知,这是我必须完成的大学课程,我从未做过任何形式的编程,也不做任何工作。
感谢任何帮助/反馈。
干杯, 米切尔
答案 0 :(得分:2)
可能更容易检查您想要的东西,然后not
。
还添加了null
检查程序,以便人们可以点击取消退出提示循环。
我将+
放在gradeInput
var gradeInputMessage = "Please enter your grade for course ";
var gradeInput = prompt(gradeInputMessage);
while (
gradeInput !== null &&
(
isNaN(gradeInput) || //grade input is a number
!((+gradeInput >=3 && +gradeInput <=7) || +gradeInput === 1.5)
)
)
{
alert ("invalid Course Grade. Please try again");
gradeInput = prompt(gradeInputMessage);
}
&#13;
答案 1 :(得分:0)
你在做网络应用吗?
带有type="number"
输入的html 5可以为您提供有效的数字。
我在这里使用jQuery,但它可以很容易地在纯js中完成。同样validGpa.indexOf(gpa)
这是纯粹的js(.indexOf()
)
此处的示例使用Array
保存所有有效GPA
,如果有任何输入匹配,则打印msg xx is valid
。如果不匹配,请说'Sorry ...'
var validGpa = ['3', '4', '5', '6', '7', '1.5'];
$('#inputgpa').on('change', function() {
var gpa = $(this).val();
if (validGpa.indexOf(gpa) > -1) {
$('#validation').text(gpa + ' is Valid!');
} else {
$('#validation').text('Sorry! ->' + gpa + '<- is not a valid GPA...');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span>Enter your GPA now:<span><br>
<input id="inputgpa" type="number" /><br>
<span id="validation"></span>