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

总结

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

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

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


相关文章
|
1月前
|
JSON JavaScript 前端开发
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
42 0
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
18天前
|
JavaScript 前端开发
EasyUi js 加载数据表格DataGrid
EasyUi js 加载数据表格DataGrid
|
30天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
74 0
|
30天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(一)
JavaScript高级笔记-coderwhy版本
34 0
JavaScript高级笔记-coderwhy版本(一)
|
1月前
|
JSON JavaScript 前端开发
Node.JS第二讲笔记
Node.JS第二讲笔记
32 0
|
1月前
|
JavaScript 前端开发 索引
JavaScript随手笔记---对比数组差异
JavaScript随手笔记---对比数组差异
JavaScript随手笔记---对比数组差异
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记---轮播图(点击切换)
JavaScript随手笔记---轮播图(点击切换)
JavaScript随手笔记---轮播图(点击切换)
|
1月前
|
JSON JavaScript 前端开发
JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
|
JavaScript 前端开发 Go
从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)——基础中的基础 概要:javascript的组成、 各个组成部分的作用 、 一、javascript的组成   javascript   ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型) 1.
1010 0