js原生判断数字类型
js判断数字类型汇总
最近在写代码的时候,有些逻辑需要判断数字类型,等用到的时候才发现自己了解的方法不太严密,然后就决心查资料汇总了解下有哪些方法比较严密
第一种:typeof + isNaN
使用typeof可以判断是否是一个数字类型,但是NaN也是数字类型,为了筛除这个可能,进一步通过isNaN来筛除。这种方法会遗漏Infinity
function isNumber(num) {
	return typeof num === 'number' && !isNaN(num)
}
1
2
3
第二种:typeof + isFinite
使用typeof可以判断是否是一个数字类型,但是NaN和Infinity也是数字类型,为了筛除这个可能,进一步通过isFinite来筛除NaN和Infinity
function isNumber(num) {
	return typeof num === 'number' && isFinite(num)
}
1
2
3
第三种:Object.prototype.toString.call
function isNumber(num) {
	return Object.prototype.toString.call(num) === '[object Number]'  && !isNaN(num)
}
1
2
3
第四种:Object.prototype.toString.call
function isNumber(num) {
	return Object.prototype.toString.call(num) === '[object Number]'  && isFinite(num)
}
1
2
3
第五种:最简单的一种
function isNumber(num) {
	return num === +num
}
1
2
3
第六种:正则表达式(最推荐的一种)
function isNumber(num) {
	return /^[0-9]+.?[0-9]*$/.test(num)
}
1
2
3
参考:http://www.fly63.com/article/detial/812
————————————————
版权声明:本文为CSDN博主「aifiggle」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yq_giveYouMoney/article/details/104042468
js原生判断数字类型的更多相关文章
- JS判断数字类型
		JavaScript判断输入是否为数字类型的方法总结 前言 很多时候需要判断一个输入是否位数字,下面简单列举集中方法. 第一种方法 isNaN isNaN 返回一个 Boolean 值,指明提供的值是 ... 
- JS/JQuery判断是否移动设备+JS/JQuery判断浏览器类型
		原文:https://blog.csdn.net/Little_Stars/article/details/48624669 JS代码如下(点击事件依赖JQuery): //判断设备类型 $(&quo ... 
- jquery ajax中支持哪些返回类型以及js中判断一个类型常用的方法?
		1 jquery ajax中支持哪些返回类型在JQuery中,AJAX有三种实现方式:$.ajax() , $.post , $.get(). 预期服务器返回的数据类型.如果不指定,jQuery 将自 ... 
- 【JS】判断浏览器类型
		判断原理 JavaScript是前端开发的主要语言,我们可以通过 编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性 ... 
- js中判断对象类型的几种方法
		我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ... 
- [JS]js中判断变量类型函数typeof的用法汇总[转]
		1.作用: typeof 运算符返回一个用来表示表达式的数据类型的字符串. 可能的字符串有:"number"."string"."boolean&q ... 
- JS如何判断浏览器类型和详细区分IE各版本浏览器
		/* * 描述:判断浏览器信息 * 编写:LittleQiang_w * 日期:2016.1.5 * 版本:V1.1 */ //判断当前浏览类型 function BrowserType() { va ... 
- JS如何判断浏览器类型,如何模拟浏览器类型(模拟微信浏览器)
		一.前言 在编写前端代码时,为了页面兼容性,我们往往需要考虑不同的浏览器类型 而这就需要在前端代码中进行识别和区分 接下来就来谈谈对浏览器类型的识别 二.正文 (一).查看浏览器类型的核心代码 var ... 
- js 如何判断变量类型
		自定义一些类型 const boolean = true const string = '这是一个字符串' const number = 1 const array = [] const object ... 
- js怎么判断浏览器类型
		<script type=“text/javascript”> function isIE(){return navigator.appName.indexOf(“Microsoft In ... 
随机推荐
- bash原样输出字符串中的换行
			➜ code $ cat test.sh #!/bin/bash nr="`cat -`"\" echo "$nr" echo $nr echo &q ... 
- spring boot swagger ui使用 nginx 部署后无法使用问题
			location /saleapi/ { ## 指定HOST proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_ ... 
- 线程基础知识17 Quene
			1 ConcurrentLinkedQueue 1.1 简介 它是一个基于链接节点的无界线程安全队列.此队列按照 FIFO(先进先出)原则对元素进行排序. 新的元素插入到队列的尾部,队列获取操作从队列 ... 
- pnpm
			一.概念 performant npm ,意味"高性能的 npm".pnpm由npm/yarn衍生而来,解决了npm/yarn内部潜在的bug,极大的优化了性能,扩展了使用场景.被 ... 
- JavaScript 日期和时间的格式化
			一.日期和时间的格式化 1.原生方法 1.1.使用 toLocaleString 方法 Date 对象有一个 toLocaleString 方法,该方法可以根据本地时间和地区设置格式化日期时间.例如: ... 
- C++ 练习10 动态分配内存
			动态分配内存可以使的程序在内存中更加灵活地使用 动态分配数组使用new函数 1 #include <iostream> 2 constexpr auto N = 5; 3 using na ... 
- MQ收到无序的消息时如何进行业务处理
			业务背景 跟第三方系统做对接,双方通过ActiveMQ进行通信,消息之间是有内在关联的,也就是消息本来应该是有业务顺序的,但由于一些原因,现在收到消息是乱序的,这种情况下做业务处理就有一点小问题了 方 ... 
- JZOJ 7339.改试卷
			\(\text{Solution}\) 又忘了线段树分治!! 显然维护一个上凸包 发现加点和删点可以变成限制存在时间 然后把点放在线段树上,线段树下标表示时间 加点时先把点按横坐标排序,然后就可以单调 ... 
- Java流程控制:用户交互Scanner、选择结构
			Java流程控制:用户交互Scanner.选择结构 用户交互Scanner Scanner类用于获取用户的输入 基本语法: Scanner s = new Scanner(System.in);s.c ... 
- 微信小程序之permission字段
			最近查看我发布的小程序出了问题,没有显示天气,打开文件查看,出现如下提示 那么如何解决呢 在 app.json 里面增加 permission 属性配置然后在app.json中添加代码 整个app.j ... 
