码迷,mamicode.com
首页 > Web开发 > 详细

JS判断是否为数字

时间:2019-12-21 15:29:27      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:put   parse   rip   eof   ||   pre   不能   作用   自己   

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判断是否为数字

标签:put   parse   rip   eof   ||   pre   不能   作用   自己   

原文地址:https://www.cnblogs.com/quxingzhou/p/12076922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!