js判断是否为数字的方法
墨初 Web前端 307阅读
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脚本中判断变量是否为数字的方法,大家可以参考一下。