繁体   English   中英

如何验证 javascript 中的数字?

[英]How validate digit in javascript?

如何验证输入字段的数字值? 我需要检查用户给定的输入是否只是 integer (不允许浮点值)。

var input = 10.4; //not allowed
var input = 10.0; //not allowed
var input = 10; //allowed
<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')
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM