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判断是否为数字的主要内容,如果未能解决你的问题,请参考以下文章

求一段JS的函数代码....

js怎么判断一个数字是几位小数

javascript验证代码总结

js验证表单不能填数字怎么判断?

Android求解,求一个判断是不是为数字的正则表达式,要求全是数字,不能有特殊符号,汉字,字母,小数也不行

js 判断一个值是不是为数字