首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于一系列数字的有效输入

问基于一系列数字的有效输入
EN

Stack Overflow用户
提问于 2017-04-18 01:15:24
回答 2查看 1K关注 0票数 0

我需要根据以下标准验证GPA计算器的用户输入:

  • 是一个数字
  • 是介于3到7之间的整数值,或1.5浮点值。

到目前为止,我已经尝试了以下几点:

代码语言:javascript
复制
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

请原谅我的无知,这是我必须完成的大学课程,我从来没有做过任何形式的编程,也没有为工作做过任何事情。

感谢任何帮助/反馈。

干杯,米切尔

EN

回答 2

Stack Overflow用户

发布于 2017-04-18 01:39:15

可能更容易检查您想要的东西,然后not它们。

还添加了一个null检查器,这样人们就可以点击cancel退出提示循环。

通过将+放在gradeInput前面,将字符串转换为数字

​

代码语言:javascript
复制
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);
}

​

票数 2
EN

Stack Overflow用户

发布于 2017-04-18 01:29:31

你在做网络应用吗?

具有type="number"输入的HTML5可以为您提供有效的数字。

我在这里使用jQuery,但它可以很容易地在纯js中完成。另外,validGpa.indexOf(gpa),这是纯js (.indexOf())

这里的示例使用Array保存所有有效的GPA,如果任何输入匹配,则打印msg xx is valid。如果不匹配,就说'Sorry ...'

​

代码语言:javascript
复制
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...');
  }
});
代码语言:javascript
复制
<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>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43462013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档