es6如何判断是不是数字
更新时间:2023-10-23前言
在程序开发中,经常会有判断一个变量的类型的需求,其中对于判断一个变量是否为数字的需求也很常见。不同的场景下判断一个变量是否为数字的方式也不同,这里介绍几种判断方法。
判断 Number 类型
Number 是 JavaScript 中的数字类型,可以使用 typeof 判断一个变量是否为 Number。
function isNumber(num) { return typeof num==='number'; }
示例:
console.log(isNumber(1)); // true console.log(isNumber('1')); // false
判断 NaN
NaN 是 JavaScript 中的一个特殊值,代表 Not a Number,通过 isNaN 函数可以判断一个变量是否为 NaN。
function isNaN(num) { return typeof num==='number' && isNaN(num); }
示例:
console.log(isNaN(1)); // false console.log(isNaN('abc')); // true console.log(isNaN(NaN)); // true
使用正则表达式
使用正则表达式可以判断一个字符串是否为数字的格式,从而判断变量是否为数字。注意不仅需要匹配整数和小数,还需要考虑正负号和科学计数法等情况。
function isNumber(str) { return /^[-+]?(\d+|\d+\.\d*|\d*\.\d+)([eE][-+]?\d+)?$/.test(str); }
示例:
console.log(isNumber('123')); // true console.log(isNumber('-123.4')); // true console.log(isNumber('1.2e3')); // true console.log(isNumber('abc')); // false
使用 parseFloat 函数
JavaScript 中的 parseFloat 函数可以将一个字符串解析为浮点数类型,如果解析结果是 NaN,说明原来的字符串不是一个数字。
function isNumber(str) { return !isNaN(parseFloat(str)); }
示例:
console.log(isNumber('123')); // true console.log(isNumber('-123.4')); // true console.log(isNumber('1.2e3')); // true console.log(isNumber('abc')); // false
总结
以上介绍了几种判断一个变量是否为数字的方法,不同的方法适用于不同的场景。在代码中根据具体的需求选择合适的方法即可。