如何在javascript中验证数字?

问题描述 投票:0回答:2

我正在开发一个 JavaScript 项目,我需要验证用户提供的输入是否是整数并且不允许浮点值。我想实现一个仅接受整数并拒绝小数和浮点值的检查。

考虑以下示例:

var input1 = 10.4; // Should not be allowed
var input2 = 10.0; // Should not be allowed
var input3 = 10;   // Should be allowed

我想在 JavaScript 中创建一个验证函数来区分这些情况。如果输入是整数,则应视为有效;否则,应视为无效。 我从以下代码开始:

function validateInteger(input) {
    // Need code here to check if input is an integer
}

validateInteger(input1);
validateInteger(input2);
validateInteger(input3);

如何修改 validateInteger 函数以有效验证提供的输入是否是整数而不是浮点数?预先感谢!

javascript validation integer numbers
2个回答
-1
投票
<input id="MyNumber" type="number" step="1" onChange="isValidNumber(this.value)" />
<span id="NumberError"></span>

function isValidNumber(num){
    num = parseFloat(num);
  if(Number.isInteger(num)) {
    document.getElementById("NumberError").innerHTML = 'Valid';
    }
  else{
    document.getElementById("NumberError").innerHTML = 'Not Valid';
    }
   }

-2
投票

正如其他人所说,您可以使用 isInteger 检查,但如果您想要例如 10.0 不允许,您可以进行额外的检查,如下所示:

const input = 10.0;

if (Number.isInteger(input) || Math.trunc(input) !== input) {
  console.log('invalid')
}
© www.soinside.com 2019 - 2024. All rights reserved.