前言:前端经常需要处理一些数字问题,涉及整数或者小数的判断。
下面介绍几种判断的简单方法:
方法1:JavaScript isInteger()方法
isInteger() 方法确定该传入值是否为整数。
如果传递的参数是整数,则返回true,否则返回false;
如果传递的参数为NaN或无限,则返回false 。
语法:
Number.isInteger(value) //value要测试的值是整数
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(20);// true
Number.isInteger(25);// true
Number.isInteger(-100000); // true
Number.isInteger(0.1); // false
Number.isInteger(3.14); // false
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger('10'); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
方法2:正则表达式
用正则是比较保险的,缺点是性能略差。
function isNumber(val){
return /^[-]?[\.\d]+$/.test(val);
}
方法3:Number类型转换
思路是先转换成数字,再看看是不是NaN
function isNumber(val){
return !isNaN(Number(val))
}
方法4:直接用isNaN
根据方法3变种过来,其实可以先不进行类型转换,直接用isNaN即可:
function isNumber(val){
return !isNaN(val);
}
参考博客:
JavaScript isInteger() 方法 https://www.nhooo.com/jsref/number_isinteger.html#top
JavaScript判断字符串是否为数字类型:Number.isInteger、isNaN、正则表达式比较
http://ourjs.com/detail/k96ccn5eixcg