JavaScript判断字符串是否为数字类型:Number.isInteger、isNaN、正则表达式比较


发布者 ourjs  发布时间 1587257865266
关键字 JavaScript  前端 

JavaScript中有Number.isInteger可以判断一个字符串是否为整数。不过目前JS没有内置的函数来判断一个数字是否为包含小数的数字:

Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true

Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false

Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false

 

下面简介几种判断的简单方法:

方法1: 正则表达式

用正则是比较保险,缺点是性能略差

function isNumber(val) {
// negative or positive
return /^[-]?[\.\d]+$/.test(val);
}

方法2: Number类型转换

思路是先转换成数字,再看看是不是NaN

function isNumber(val) {
return !isNaN(Number(val))
}

方法3: 直接用isNaN

根据方法2变种过来,其实可以先不进行类型转换,直接用isNaN即可:

function isNumber(val) {
return !isNaN(val);
}

 









 热门文章 - 分享最多
  1. webpack前端项目调试环境安装入门:webpack.config.js禁用UglifyJs只合并JavaScript不压缩混淆代码
  2. node.js创建aria2代理服务器:使用net.socket转发rpc或http request请求,替换websocket
  3. request停止维护:用node.js实现http网页爬虫抓取,模拟ajax\post请求,大文件上传下载
  4. 用node.js在Windows或Linux平台上高性能解压/压缩zip、tar大文件,输出到文件或Stream流
  5. OnceDB:使用Redis全文字符串模糊搜索,多条件查询,创建索引搜索等使用帮助教程
  6. 用CSS实现分页符,控制Web网页打印时自动强制分页:page-break-after教程
  7. SVG矢量图视窗viewBox,嵌套HTML综合实例:建立用户自定义相对坐标系统
  8. 怎么通过OnceOA免费实现外网访问家庭、企业内网服务器网站、网盘、办公系统
  9. Node.JS中回调嵌套和async/await执行空函数性能效率对比测试
  10. Node.JS如何按顺序调用async函数,如何判断是否为async函数,在mocha中自动化测试async/await代码

 相关阅读
  1. node.js将回调函数嵌套,用promise改造成async/await顺序执行:异常处理和返回多个参数
  2. 使用node.js和oAuth2协议集成Github/LinkedIn第三方登录以OnceOA模块源码为例
  3. JavaScript在Array数组中按指定位置删除或添加元素对象
  4. node.js含有%百分号时,发送get请求时浏览器地址自动编码的问题
  5. 让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
  6. Facebook发布全新JavaScript引擎Hermes:越来越像Java字节码,JS要统一全端?
  7. 在嵌入式设备树莓派上编译QuickJS教程:一个C语言编写的极简JavaScript引擎
  8. 使用JavaScript的Proxy监听对象属性变化并进行类public/private的访问控制
  9. JavaScript求一个字符串的字节长度
  10. JavaScript中将字符串true或false转换成Boolean类型

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA