js 判断是否是数字

转载: https://www.cnblogs.com/maxm/p/6743989.html

方法一:isNaN
isNaN()的缺点就在于 null、空格以及空串、’[123]'会被按照0来处理
NaN: Not a Number

function isRealNum(val){
    // 先判定是否为number
    if(typeof val !== 'number'){
      return false;
    }
    if(!isNaN(val)){
        return true;
    }else{
        return false;
    }
}

方法二:正则
校验只要是数字(包含正负整数,0以及正负浮点数)就返回true

function isNumber(val){

    var regPos = /^\d+(\.\d+)?$/; //非负浮点数
    var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
    if(regPos.test(val) || regNeg.test(val)){
        return true;
    }else{
        return false;
    }

}

方法三:
校验正负正数就返回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;
    }
}

你可能感兴趣的:(js,js)