zoukankan      html  css  js  c++  java
  • js判断类型为数字的方法实现总汇——原生js判断isNumber()

    方法一【推荐】:

    最容易想到的是用typeof来判断是否是number类型 ,但是如果为NaN会被认为也是number类型,因此我们需要使用isNaN来排除NaN的情况。 

    function isNumber(obj) {  
        return typeof obj === 'number' && !isNaN(obj)  
    }
    

    方法二:

    isNaN(obj)   等价于isFinite()。Infinity在js表示数字的无穷大,判断是否可用做数字的最佳方法则是isFinite(),因为该方法会筛除掉NaN和Infinity两个关键字。

    function isNumber(obj) {  
        return typeof obj === 'number' && isFinite(obj)      
    }
    

    方法三:

    不使用typeof,可以用Object.prototype.toString来实现,只是代码量稍微比较大而已。

    function isNumber(obj) {  
        return Object.prototype.toString.call(obj) === '[object Number]' && !isNaN(obj)  
    }
    

      或者

    function isNumber(obj) { 
        return Object.prototype.toString.call(obj) === '[object Number]' &&  isFinite(obj)      
    }
    

      

     方法四:

    据说这个方法是世界上最短的数字判断代码  

    function isNumber(obj) {  
        return obj === +obj  
    }

    下面是该方法的延伸。

    1、判断字符串 :

    function isString(obj) {  
        return obj === obj+''  
    }
    

    2、判断布尔类型

    function isBoolean(obj) {  
        return obj === !!obj  
    }
    

     

     方法五【推荐】

      使用正则来实现,这也是我们最常用的方式

    function isNumber(obj) {
      var reg = /^[0-9]+.?[0-9]*$/;
      if (reg.test(obj)) {
        return true;
      }
      return false;
    } 

    引用:http://www.fly63.com/article/detial/812

  • 相关阅读:
    获取元素位置信息和所占空间大小(via:js&jquery)
    原生js获取元素的样式信息
    真的了解js生成随机数吗
    js中有关滑动问题的一些理解
    禁止遮罩层以下屏幕滑动----正解(更新版)
    js中的null和undefined
    通过ajax获得json数据后格式的转换
    悬浮导航栏的实现以及导航跳转
    css selector
    视频播放器
  • 原文地址:https://www.cnblogs.com/alexandra/p/10265726.html
Copyright © 2011-2022 走看看