我正在开发一个 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 函数以有效验证提供的输入是否是整数而不是浮点数?预先感谢!
<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';
}
}
正如其他人所说,您可以使用 isInteger 检查,但如果您想要例如 10.0 不允许,您可以进行额外的检查,如下所示:
const input = 10.0;
if (Number.isInteger(input) || Math.trunc(input) !== input) {
console.log('invalid')
}