JavaScript判断字符串是否为数字类型

摘要:JavaScript中有Number.isInteger可以判断一个字符串是否为整数。不过目前JS没有内置的函数来判断一个数字是否为包含小数的数字:

JavaScript中有Number.isInteger可以判断一个字符串是否为整数。不过目前JS没有内置的函数来判断一个数字是否为包含小数的数字:

Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true

Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false

Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false

下面简介几种判断的简单方法:


方法1: 正则表达式

用正则是比较保险,缺点是性能略差

function isNumber(val) {
  // negative or positive
  return /^[-]?[\.\d]+$/.test(val);
}


方法2: Number类型转换

思路是先转换成数字,再看看是不是NaN

function isNumber(val) {
  return !isNaN(Number(val))
}


方法3: 直接用isNaN

根据方法2变种过来,其实可以先不进行类型转换,直接用isNaN即可:

function isNumber(val) {
  return !isNaN(val);
}

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_8678