JS判断是否为数字
Posted quxingzhou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS判断是否为数字相关的知识,希望对你有一定的参考价值。
isNaN函数方式
// NaN的意思:not a number
function isRealNum(val){
// isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除
if(val === "" || val == null){
return false;
}
if(!isNaN(val)){
return true;
}else{
return false;
}
}
// isNaN() 是一个全局方法,它的作用是检查一个值是否能被 Number() 成功转换为数字。
// 当一个字符串不能被 Number、parseInt 或 parseFloat 成功转换时,就返回 NaN,表示该字符串无法被识别为数字类型,这是一个异常状态,并不是一个确切的值。
// NaN不等于NaN。
Number('12abc'); // NaN
'123'; // 123
'123.78'; // 123.78
'abc'; // NaN
Number([]); //0
parseInt('12ab3'); //12
//Number 转换的是整个值,而不是部分值;parseInt 和 parseFloat 只转化第一个无效字符之前的字符串。
NaN!==NaN; // true
isNaN('a'); //true
isNaN('1'); //false
isNaN('12a'); //true
parseFloat方法
function isNotANumber(inputData) {
//isNaN(inputData)不能判断空串或一个空格
//如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
if (parseFloat(inputData).toString() == “NaN”) {
//alert(“请输入数字……”);
return false;
} else {
return true;
}
}
parseFloat与parseInt处理字符串
console.log( parseInt("asd123")); //parseInt 值为字符串 如已字符串开头 返回NaN
console.log( parseInt("123asd")); //parseInt 值为字符串 如已数字开头 返回数字(123)
// parseFloat 与 parseInt 同理
console.log(parseInt("asd123")==NaN); //NaN和任何值都不相等 包括自己 返回 false
console.log(typeof(parseInt("asd123")); // NaN 类型为number
以上是关于JS判断是否为数字的主要内容,如果未能解决你的问题,请参考以下文章