首页 > 其他分享 >js 判断数字的六种方法

js 判断数字的六种方法

时间:2023-12-06 23:11:39浏览次数:20  
标签:console 数字 六种 Number js num typeof isInteger log

1、使用正则表达式判断是否为数字

正则表达式是一种强大的工具,可以用于判断字符串是否符合特定的模式。在JS中,通过正则表达式可以判断一个字符串是否为数字。

以下是一个简单的正则表达式,用于判断一个字符串是否为十进制数字:

    let reg = /^[0-9]+$/;
    console.log(reg.test("42")); // true
    console.log(reg.test("42px")); // false

2、使用ES6的Number.isInteger判断是否为整数

除了判断是否为数字,有时候我们还需要判断一个数字是否为整数。ES6中,Number对象提供了新的静态方法Number.isInteger,用于判断一个值是否为整数。

以下是示例代码:

    console.log(Number.isInteger(42)); // true
    console.log(Number.isInteger(42.0)); // true
    console.log(Number.isInteger(42.1)); // false
    console.log(Number.isInteger(NaN)); // false
    console.log(Number.isInteger("42")); // false

3、typeof + isNaN

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

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

4、第二种:typeof + isFinite

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

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

5、Object.prototype.toString.call

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

6、正则表达式(最推荐的一种)

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

标签:console,数字,六种,Number,js,num,typeof,isInteger,log
From: https://www.cnblogs.com/guozhiqiang/p/17880735.html

相关文章

  • 【SpringBootWeb入门-6】请求响应-请求参数-数组集合参数&Json参数&路径参数
    这篇我们接着上一篇的请求参数来讲解另外几个常见参数的接收以及封装:数组集合参数、Json参数、路径参数。数组集合参数1、数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数在Postman接口测试新建测试,获取请求数组参数type。然后新建参数处......
  • JS中的变量声明
    使用关键字letvarconst来进行声明如果不使用关键字来进行声明,也是能声明的,这时这个变量就成了全局变量(非严格模式下),严格模式下会报错ReferenceError;functionexample(){console.log(a);//输出:undefined,变量a已被提升,但尚未赋值a=1;//赋值,此时a变成......
  • fastjson反序列化
    前言fastjson是阿里巴巴旗下的一个Java库,用于Java对象和JSON字符串之间的转换。这个库从2017-2022年,陆陆续续爆出了20多个反序列化RCE。官方采用黑名单的方式修复漏洞,这导致出现一系列的bypass==序列化分析packagePojo;importjava.util.Properties;publicclassUser......
  • 大四jsp实训项目技术总结
    crm项目总结①静态资源疯狂报错?很有可能是后端的问题,后端出了问题,服务器取不出来资源。记住:只要服务器取不到某个资源,很有可能导致所有资源都取不出来。一个经典案例:某个数据库映射文件ICustomerDetail.xml中的mapper地址应该是在cn.edu.zisu.ICustomerDetailDao,但是我盲......
  • 猜数字游戏
    小A和小B在玩猜数字。小B每次从n个自然数中随机选择一个,小A每次也从n个自然数中选择一个猜。他们一共进行不超过n次这个游戏,请返回小A猜对的次数。输入的guess列表为小A每次猜数游戏的猜测,answer列表为小B每次猜数游戏的选择。示例1:输入:(依次输入guess、answer的值)[1,2,3][1,2,3]......
  • 亚马逊跨境电商迎来发展黄金期,中国数字贸易规模首破2万亿元
    在11月23日的第二届全球数字贸易博览会开幕式上,商务部发布了备受瞩目的《中国数字贸易发展报告(2022)》,其中揭示了令人瞩目的数字贸易发展数据。报告显示,2022年,中国跨境电商进出口规模首次突破2万亿元,为亚马逊等电商平台带来了前所未有的发展机遇。《报告》指出,中国数字贸易总规模再......
  • PHP+JS实现大文件切片上传功能实现实例源码
    近期公司的项目中,涉及到上传大文件的问题,大文件上传用普通表单上传时出现的问题是,无法断点续存,一但中途中断上传,就要重头开始,这很明显不是我们想要的,所以经过一番查询,学习了一下大文件分割上传的方法。并且使用简单的php做服务端处理程序实现一个功能demo,供以后回顾使用。本人也是......
  • 「GIS数据」下载全国的GeoJSON、shp格式数据(精确到乡镇街道级)-2023年12月更新
    发现个可以免费下载全国 geojson 数据的网站,推荐一下。支持全国、省级、市级、区/县级、街道/乡镇级以及各级的联动数据,支持导入矢量地图渲染框架中使用,例如:D3、Echarts等geojson数据下载地址:https://geojson.hxkj.vip该项目github地址:https://github.com/TangSY/echarts-m......
  • 史文钊谈数字技术在医学创新中的应用:大模型不求大,贵在精
    近日,国际性学术会议“北京论坛2023”隆重召开,迄今已举办20届。本届论坛以“文明的和谐与共同繁荣——传承与互鉴”为主题,下设16个分论坛和4个专题论坛,来自国内外各领域的600余位顶级专家学者聚焦后疫情时代的全球可持续发展,通过对话与交流为解决新时代课题贡献智慧。作为北......
  • Nodejs APM监控实战分享
    如何对线上的nodejs做监控,了解相关的GC、内存使用情况、性能,如何更好的了解相关的指标,我们需要做一个采集线上数据的方案,但是又不希望侵入性太强,首先收集的指标。内存相关指标说明堆内存rss:常驻内存,node进程分配的总内存大小external:v8管理的C++所占用的内存大小arra......