js原生判断是否是数字类型[通俗易懂]

js原生判断是否是数字类型[通俗易懂]js判断数字类型汇总最近在写代码的时候,有些逻辑需要判断数字类型,等用到的时候才发现自己了解的方法不太严密,然后就决心查资料汇总了解下有哪些方法比较严密第一种:typeof+isNaN使用typeof可以判断是否是一个数字类型,但是NaN也是数字类型,为了筛除这个可能,进一步通过isNaN来筛除。这种方法会遗漏InfinityfunctionisNumber(num){ retu…

大家好,又见面了,我是你们的朋友全栈君。

js判断数字类型汇总

最近在写代码的时候,有些逻辑需要判断数字类型,等用到的时候才发现自己了解的方法不太严密,然后就决心查资料汇总了解下有哪些方法比较严密

第一种:typeof + isNaN

使用typeof可以判断是否是一个数字类型,但是NaN也是数字类型,为了筛除这个可能,进一步通过isNaN来筛除。这种方法会遗漏Infinity

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

第二种:typeof + isFinite

使用typeof可以判断是否是一个数字类型,但是NaN和Infinity也是数字类型,为了筛除这个可能,进一步通过isFinite来筛除NaN和Infinity

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

第三种:Object.prototype.toString.call

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

第四种:Object.prototype.toString.call

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

第五种:最简单的一种

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

第六种:正则表达式(最推荐的一种)

function isNumber(num) {
	return /^[0-9]+.?[0-9]*$/.test(num)
}

参考:http://www.fly63.com/article/detial/812

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148495.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vs2013安装失败解决办法_cad2012安装失败解决方案

    vs2013安装失败解决办法_cad2012安装失败解决方案 在实际的vs2008安装过程中,发现安装到一定的时候出现错误,导致安装无法继续进行。经过上网查询相关解决方案,成功解决了这个问题,逐将解决过程与大家分享。    显示的错误界面如下图所示: 解决方案:     在VS2008安装光盘下找到…/WCU/WebDesignerCore/WebDesignerCore.exe并将其复制到硬盘上其他目录下(不在VS2008

    2025年9月28日
    7
  • drupal教程 Drupal的电子商务模块(ecommerce module)[通俗易懂]

    drupal教程 Drupal的电子商务模块(ecommerce module)[通俗易懂]译者:老葛Drupal自身并没有自带一个电子商务模块,但是开发者贡献了一个电子商务模块E-commercemodule。事实上,还有一个模块ubercartmodule,后者看起来功能更强大一些,而且后者有专门的论坛和开发者。但是我还是选择了前者,这个更简单一些的ecommercemodule。原因很简单,与电子商务相关的是支付功能,对于前者来说,存在着大量的各个支付网管的模块功

    2022年6月1日
    71
  • 使用linux shell脚本大范围寻找ping不通的机器

    使用linux shell脚本大范围寻找ping不通的机器

    2021年8月26日
    46
  • 小数和二进制的转换_进制转换表

    小数和二进制的转换_进制转换表1.小数用二进制如何表示首先,给出一个任意实数,整数部分用普通的二进制便可以表示,这里只说小数部分如何表示例如0.6文字描述该过程如下:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,知道小数部分为0。特殊情况:小数部分出现循环,无法停止,则用有限的二进制位无法准确表示一个小数,这也是在编程语言中表

    2025年6月17日
    1
  • vmm安装hassos_安装freenas无法启动

    vmm安装hassos_安装freenas无法启动提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档使用群辉VMM安装freenas前言用vm玩一段时间黑群NAS,就像尝试一下用VMM,觉得想折腾一下freenas。感觉有啥区别。下面是我安装的教程以及遇到的一些问题。保姆级教程。一、需要准备文件1,freenasFreeNAS-11.2-U7.iso2、打开群辉VMM3.添加镜像文件。其他系统的也可以添加进来,选择ISO下载的镜像文件。![在这里插入图片描述](https://img-blog.csdnimg.cn/28.

    2025年11月24日
    2
  • golang 激活码2021-激活码分享「建议收藏」

    (golang 激活码2021)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4D…

    2022年3月30日
    1.7K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号