js 判断是否是数字

在JavaScript中,判断一个值是否是数字可以通过多种方法实现,以下是几种常见的方法:

  1. 使用 isNaN() 函数:
function isRealNum(val) {
  if (val == null) return falsereturn !isNaN(val) && typeof val === 'number';
}
  1. 使用正则表达式:
function isNumber(val) {
  var regPos = /^\d+(\.\d+)?$/// 非负浮点数
  var regNeg = /^-?\d+(\.\d+)?$/// 负浮点数
  return regPos.test(val) || regNeg.test(val);
}
  1. 利用 parseFloat() 的返回值:
function isNotANumber(inputData) {
  return isNaN(parseFloat(inputData)) && inputData.toString() !== 'NaN';
}
  1. 使用 Number() 函数和 isNaN() 函数结合:
function isNumber(val) {
  return !isNaN(Number(val, 10));
}
  1. 使用 Number.isNaN() 函数(ECMAScript 2016 引入):
function isNumber(val) {
  return Number.isNaN(val);
}
  1. 使用 Number.isFinite() 函数(ECMAScript 2016 引入):
function isNumber(val) {
  return Number.isFinite(val);
}

以上方法各有优缺点,选择合适的方法取决于具体的应用场景和需求。需要注意的是,isNaN() 函数会将 null、空格和空字符串视为 0,这可能不是预期的行为,因此在某些情况下需要结合其他方法进行更精确的判断。

Top