javascript - 将两个用户号码输入存储在变量中,验证为数字,并写入两位数的总和

标签 javascript html css

我有一个用 html 创建的表单,有两个输入字段和一个按钮。单击按钮时,我希望调用一个函数,然后将两个数字相加,然后通过警报函数显示总和。

我知道如何在单击按钮时调用该函数,并且我知道如何读取两个输入并将其存储在单独的变量中。

我想要一些关于如何以最简单的方式将输入验证为仅数字的提示?

function Calculate() {
  var num1 = document.getElementById("num1").value;

  var num2 = document.getElementById("num2").value;
  num1_parsed = parseInt(num1);    

  num2_parsed = parseInt(num2);

  if (num1_parsed) {    

  } else {
    alert("Wrong input!!!");
    return false;    
  }

  var total = num1_parsed + num2_parsed;
  alert("The total sum of your numbers are: " + sum);
}

这段代码出于某种原因有效,如果 num1 正确但 num2 不正确,它会给出消息 NaN 而不是警报消息!

最佳答案

JavaScript 方法

通过 JavaScript 执行验证,您可以使用 isNaN() 函数。如果输入不是数字,这将返回 true。

function Calculate() 
{
  var num1 = document.getElementById("num1").value;
  var num2 = document.getElementById("num2").value;

  num1_parsed = parseFloat(num1);    
  num2_parsed = parseFloat(num2);

  if(isNaN(num1_parsed) || isNaN(num2_parsed))
  {
      alert("Wrong input!!!");
      return false;
  } else {
      var total= num1_parsed + num2_parsed;
      alert("The total sum of your numbers are: " + total);
      return true;
  }
}

HTML5 方法

此外,如果您只想使用 HTML5 来确保输入值为数字,则可以对输入标签使用 type="number"属性。这添加了内置验证以拒绝非数字。

<input type="number" id="num1" />
<input type="number" id="num2" />

关于javascript - 将两个用户号码输入存储在变量中,验证为数字,并写入两位数的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55640246/

相关文章:

html - 可链接的 <Div> 叠加在 iframe 视频上 | rails

html - 使用 css 插入文本,缩进其余文本,如列表

javascript - 冲突 - jumbotron vs responsive img

javascript Chart.js 删除最后一点

javascript - 如何在 Javascript 中将变量从一个文件发送到另一个文件?

html - 如何在提交按钮中设置文本颜色?

javascript - 任何人都知道如何从 <Li> Javascript HTML 中自动选择一个选项

jquery - nav-pills 对我不起作用

javascript - Highstock 图表工具提示仅在图表内激活

javascript - 悬停时的 CSS Matrix3D 变换