hi,欢迎访问本站!
当前位置: 首页Web前端正文

js判断是否为数字的方法

墨初 Web前端 354阅读

js脚本中判断一个变量是否为数字有多种方法,下面73so博客就详细的说一说。

js判断变量是否为数字的方法

方法1:使用isNaN()函数

isNaN():函数是js自带的全局函数,isNaN()函数用于检查其参数是否是非数字值。

注意:isNaN()在判断null,空格以及空串时会按0来处理。

例:

console.log(isNaN(123));
// false
console.log(isNaN(-1.23));
// false
console.log(isNaN(5 - 2));
// false
console.log(isNaN(0));
// false
console.log(isNaN("Hello"));
// true
console.log(isNaN("2005/12/12"));
// true

由于isNaN会将null,空格以及空字符串按照0来处理,所以检测不严谨,不过可以结合typeof运算符一起使用。

例:

//true:数值型的,false:非数值型
function myIsNaN(value) {
    return (typeof value === 'number' && !isNaN(value));
}
myIsNaN(10); //true
myIsNaN(null); //false
myIsNaN(); //false

方法2、使用正则表达式来判断变量是否为0

例:js判断只要是数字就返回TRUE,这里包括正负整数,0以及正负浮点数

/*** 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true**/
function isNumber(val) {
    var regPos = /^[0-9]+.?[0-9]*/;
    //判断是否是数字。
    if (regPos.test(val)) {
        return true;
    } else {
        return false;
    }
}

例2:校验正负正数就返回true

/*** 校验正负正数就返回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;
    }
}

方法3:利用parseFloat()的返回值

parseFloat() 函数可解析一个字符串,并返回一个浮点数。

例:

/*** 验证数据 是数字:返回true;不是数字:返回false**/
function Number(val) {
    if (parseFloat(val).toString() == "NaN") {
        return false;
    } else {
        return true;
    }
}
isNaN(val)

以上就是js脚本中判断变量是否为数字的方法,大家可以参考一下。

声明:无特别说明,转载请标明本文来源!
相关推荐