• 技术文章 >web前端 >js教程

    javascript怎么判断值是否是数字

    青灯夜游青灯夜游2021-04-26 15:44:43原创577

    方法:1、test()配合正则表达式;2、parseFloat()函数,语法“parseFloat(值).toString()=="NaN"”;3、isNaN()函数,语法“typeof 值==='number'&&!isNaN(值)”。

    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    方法1:使用test()+正则表达式 

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

    /**
    * 校验只要是数字(包含正负整数,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;
        }
    }

    方法2:使用parseFloat()函数

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

    方法3:使用isNaN()函数

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

    isNaN()详解

    对于空数组和只有一个数值成员的数组,isNaN返回false。

    isNaN([]) // false
    isNaN([123]) // false
    isNaN(['123']) // false

    上面代码之所以返回false,原因是这些数组能被Number函数转成数值,请参见《数据类型转换》一章。

    因此,使用isNaN之前,最好判断一下数据类型。

    function myIsNaN(value) {
      return typeof value === 'number' && !isNaN(value);
    }

    【推荐学习:javascript高级教程

    以上就是javascript怎么判断值是否是数字的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript 数字
    上一篇:javascript中删除数组元素的方法有哪些 下一篇:javascript方法(函数)的定义方式有哪些
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• javascript特权方法有什么用• javascript有哪些事件属性• javascript包括什么• javascript加密方法有哪些• javascript find()方法有什么用
    1/1

    PHP中文网