js判断是否为数字

JS判断input框输入或者从后台查询的值是否为数字:

1、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;
    }
} 

 

2、正则表达式方式

网上流传的正则表达式的做法都有问题。

 

 

3、parseFloat方法

网上流传的这种做法也是有问题的,不信可以用字符串'22g2'验证。

 

function isNotANumber(inputData) { 
  //isNaN(inputData)不能判断空串或一个空格 
  //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。 
  if (parseFloat(inputData).toString() == “NaN”) { 
    //alert(“请输入数字……”); 
    return false; 
  } else { 
    return true; 
  } 
}

 

4、

if(!isNaN(Number(input)){

console.log('是数字')

 有缺陷,空字符串、空值、null验证

 

 

if(!isNaN(parseInt(input)){

console.log('是数字')

}

 

有缺陷,可用’2a‘验证

 

 

 

你可能感兴趣的:(前端)