JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位

简介: JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位



一、方法一:正则表达式

  要判断一个字符串输入的数据是否超过八位,需要用正则表达式来进行匹配,这里可以在线学习正则网站,可以练练,里面还有一些语法什么的。

  毕竟比较赶时间,写的仓促,所以很多地方还是可以优化的。有什么不对的话还请大家多多体谅,谢谢啦 😀 😀 😀 。

1.匹配公式和单个数据

  regexBit 用于匹配包含数字和运算符的字符串,例如 12345678 或者 12345678+12345678,不匹配数据超出八位数的情况。

var regexBit = /^[-]?(\d{8}|[\d\.]{9}|\d{8}[+\-*/]\d{8}|[\d\.]{9}[+\-*/][\d\.]{9})$/;

  这里简单讲解一下该正则表达式各个部分的作用:

  • /^[-]?)$/
字符 描述
^ 表示从匹配输入字符串的开始位置,除非在方括号表达式中使用,
当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合,
$ 匹配输入字符串的结尾位置;
[-]? 表示匹配可选的负号(-)
  • \d{8}
字符 描述
\d{8} 匹配任意的八个数字
  • [\d\.]{9}
字符 描述
[\d\.]{9} 匹配带有小数点的八个数字,加上小数点字符,所以长度为9,
用于匹配0.12345671234567.8 等情况;
  • \d{8}[+\-*/]\d{8}
字符 描述
\d{8}[+\-*/]\d{8} 匹配八个数字+四个运算符中的一个+八个数字,例如:12345678+12345678
  • [\d\.]{9}[+\-*/][\d\.]{9}
字符 描述
[\d\.]{9}[+\-*/][\d\.]{9} 匹配带有小数点的八位数字+基础运算符之一+带有小数点的八位数字,例如:0.1234567+0.1234567

2.对数据进行判断是否能展示

  使用上面正则表达式可以排除输入单个数据或者公式输入数据超过8位的情况,而只匹配包含八位数字、小数点和运算符的运算表达式,从而判断输入字符串是否为有效的运算表达式。

/**
 * @author CSH
 * @function 函数功能:对数据进行判断最大位数是否超过八位
 * @param {string} displayNumber [需要判断的数据]
 */
function isCalcDataBit (displayNumber) {
  return regexBit.test(displayNumber) && !isNaN(eval(displayNumber));
}

运行测试:

// 示例用法
console.log(isCalcDataBit ("12345678")); // true
console.log(isCalcDataBit ("0.1234567")); // true
console.log(isCalcDataBit ("1234")); // false
console.log(isCalcDataBit ("42")); // false
console.log(isCalcDataBit ("-3")); // false
console.log(isCalcDataBit ("12345678+12345678")); // true
console.log(isCalcDataBit ("1.2345678+123456.78")); // true
console.log(isCalcDataBit ("1.3333")); // false

总结

  感谢观看,如果有帮助到你,请给文章点个赞和收藏,让更多的人看到。🌹 🌹 🌹

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!


相关文章
|
9天前
|
JSON JavaScript 前端开发
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
55 0
|
9天前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
8天前
|
JavaScript 前端开发
Angular.js 应用中数据模式的删除操作实现
Angular.js 应用中数据模式的删除操作实现
18 0
|
7天前
|
前端开发 JavaScript 算法
JavaScript 中实现常见数据结构:栈、队列与树
JavaScript 中实现常见数据结构:栈、队列与树
|
8天前
|
存储 JSON JavaScript
Node.js 上开发一个 HTTP 服务器,监听某个端口,接收 HTTP POST 请求并处理传入的数据
Node.js 上开发一个 HTTP 服务器,监听某个端口,接收 HTTP POST 请求并处理传入的数据
14 0
|
9天前
|
JavaScript
EasyUi js 加载数据进下拉框combobox
EasyUi js 加载数据进下拉框combobox
|
9天前
|
JavaScript 前端开发
EasyUi js 加载数据表格DataGrid
EasyUi js 加载数据表格DataGrid
|
9天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
76 0
|
9天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(一)
JavaScript高级笔记-coderwhy版本
37 0
JavaScript高级笔记-coderwhy版本(一)
|
9天前
|
JSON JavaScript 前端开发
Node.JS第二讲笔记
Node.JS第二讲笔记
33 0