js判断是否为数字的方法
墨初 Web前端 936阅读
js脚本中判断一个变量是否为数字有多种方法,下面73so博客就详细的说一说。
js判断变量是否为数字的方法
方法1:使用isNaN()函数
isNaN():函数是js自带的全局函数,isNaN()函数用于检查其参数是否是非数字值。
注意:isNaN()在判断null,空格以及空串时会按0来处理。
例:
console.log(isNaN(123));
// false
console.log(isNaN(-1.23));
// false
console.log(isNaN(5 - 2));
// false
console.log(isNaN(0));
// false
console.log(isNaN("Hello"));
// true
console.log(isNaN("2005/12/12"));
// true
由于isNaN会将null,空格以及空字符串按照0来处理,所以检测不严谨,不过可以结合typeof运算符一起使用。
例:
//true:数值型的,false:非数值型
function myIsNaN(value) {
return (typeof value === 'number' && !isNaN(value));
}
myIsNaN(10); //true
myIsNaN(null); //false
myIsNaN(); //false
方法2、使用正则表达式来判断变量是否为0
例:js判断只要是数字就返回TRUE,这里包括正负整数,0以及正负浮点数
/*** 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true**/
function isNumber(val) {
var regPos = /^[0-9]+.?[0-9]*/;
//判断是否是数字。
if (regPos.test(val)) {
return true;
} else {
return false;
}
}
例2:校验正负正数就返回true
/*** 校验正负正数就返回true**/
function isIntNum(val) {
var regPos = / ^\d+$/; // 非负整数
var regNeg = /^\-[1-9][0-9]*$/; // 负整数
if (regPos.test(val) && regNeg.test(val)) {
return true;
} else {
return false;
}
}
方法3:利用parseFloat()的返回值
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
例:
/*** 验证数据 是数字:返回true;不是数字:返回false**/
function Number(val) {
if (parseFloat(val).toString() == "NaN") {
return false;
} else {
return true;
}
}
isNaN(val)
以上就是js脚本中判断变量是否为数字的方法,大家可以参考一下。