JavaScript中有Number.isInteger来判断字符串是否为整数。 然而javascript判断是否为字符串,目前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
下面介绍几种简单的判断方法:
方法一:正则表达式
使用regex比较安全javascript判断是否为字符串,但缺点是性能稍差
function isNumber(val) {
// negative or positive
return /^[-]?[.d]+$/.test(val);
}
方法二:数字类型转换
思路是先转成数字,然后看是不是NaN
function isNumber(val) {
return !isNaN(Number(val))
}
方法三:直接使用isNaN
根据提示2的变体,虽然可以不先进行类型转换,但直接使用isNaN即可:
function isNumber(val) {
return !isNaN(val);
}
发表评论