首页 > 其他分享 >简单计算公式校验

简单计算公式校验

时间:2023-08-17 17:33:32浏览次数:36  
标签:console log 公式 校验 let formulaStr 简单 test 计算公式

let formulaStr = '你的公式'
if(/^[\d ()*\/+-]+$/.test(formulaStr)){}else {
  console.log('公式异常:包含不能解析的字符')
}
if(/[\+\-\*\/]{2,}/.test(formulaStr)){
  console.log('公式异常:运算符连续')
}
if(/\(\)/.test(formulaStr)){
  console.log('公式异常:空括号')
}
if(/\([\+\-\*\/]/.test(formulaStr)){
  console.log('公式异常:(后面是运算符')
}
if(/[\+\-\*\/]\)/.test(formulaStr)){
  console.log('公式异常:)前面是运算符')
}
if(/^[\+\-\*\/.]|[\+\-\*\/.]$/.test(formulaStr)){
  console.log('公式异常:运算符号不能在首末位')
}
let rea = formulaStr.match(/\(/g);
let reb = formulaStr.match(/\)/g);
let reaLen = !rea ? 0 : rea.length;
let rebLen = !reb ? 0 : reb.length;
if(reaLen !== rebLen){
  console.log('公式异常:括号个数不匹配')
}

 

标签:console,log,公式,校验,let,formulaStr,简单,test,计算公式
From: https://www.cnblogs.com/zhaozhou/p/17638293.html

相关文章

  • Flyway 使用流程(简单使用)
    官网: https://flywaydb.org/documentation/api/Flyway 是一款开源的数据库版本管理工具。它可以很方便的在命令行中使用,或者在Java应用程序中引入,用于管理我们的数据库版本。在项目或产品中,很难一开始就把业务理清楚,把数据库表设计好,因此数据表也会在迭代周期不断迭代。在Java应......
  • vue el-form 多种校验
    rules:Object.freeze({name1:[{required:true,message:'请输入发放计划编码',trigger:'blur'},{pattern:/^(?!\s+).*(?<!\s)$/,message:'首尾不能为空格',trigger:'blur'}],name2:[{required:true,mess......
  • TDengine 全新打造数据接入功能,让 MQTT 无缝数据接入变得很简单
    我们非常高兴地宣布,TDengine企业版和 TDengineCloud 正式推出重磅功能,这一功能主打无缝数据接入支持,旨在帮助用户彻底改善数据接入体验。作为一款创新性的解决方案,TDengine企业版和TDengineCloud可以直接将MQTT服务器中的数据无缝写入 TDengine数据库进行存储和分析。......
  • python rasa聊天机器人教程三:基于WebSocket的简单网页组件配置
    1.准备环境新建一个目录,并且在命令行中进入该目录初始化一个Rasa项目,使用以下命令:rasainit2.修改Rasa的配置在Rasa项目目录中,找到credentials.yml文件,添加以下内容:socketio:user_message_evt:user_utteredbot_message_evt:bot_utteredsession_persistenc......
  • Android Rxjava :最简单&全面背压讲解 (Flowable)
    1.前言Rxjava背压:被观察者发送事件的速度大于观察者接收事件的速度时,观察者内会创建一个无限制大少的缓冲池存储未接收的事件,因此当存储的事件越来越多时就会导致OOM的出现。(注:当subscribeOn与observeOn不为同一个线程时,被观察者与观察者内存在不同时长耗时任务,就会使发送与接收速......
  • 简单高效的api文档管理系统是如何提升工作效率的?
    简单高效的api文档管理系统是如何提升工作效率的?轻松管理文档,提高协作效率在现代软件开发过程中,api文档的管理至关重要。一套简单高效的api文档管理系统可以极大地提升工作效率,并且减少文档管理方面的麻烦。那么,api文档管理系统到底有什么特点?在日常工作中使用起来又有哪些好处呢?......
  • mormot2 笔记(二) Http服务的简单搭建
    mormot2框架中有个THttpServer类,它有一个Router属性,定义如下:propertyRouter:TUriRouterreadfRoute;Router是添加路由的入口点,它有和http协议对应的get,post,put,delete等方法,这些方法可以添加路由,下面常用的get方法定义。procedureGet(constaUri:RawUtf8;......
  • 关于使用Terraform为Azure创建一个资源组的简单案例
    使用Terraform创建AzureCloud平台的资源需要,得还有如下主要的环境及条件a、安装有Terraformb、解决身份认证及相关的权限++++++++++++++++++++++++++++++++++++++++++++++本文的目标,创建一个rg-开着的随机名称的资源组先得准备有4个文件,【providers.tf】、【main.tf】、【v......
  • C#仓储模式简单介绍
    为什么使用仓储模式仓储模式是面向接口开发,个人觉得仓储模式就是升级版的三层架构,里面多了接口之间的调用,就好像仓库管理员,只是负责把仓库里面的东西交给客户,也无需知道客户要做什么,反之客户也无需知道东西在哪里,怎么存放的,需要的时候就跟管理员索要就可以了,这样就是低耦合,就算管......
  • 对于Java中String的简单理解
    String的三种初始化方式 publicclassTest{publicstaticvoidmain(String[]args){Stringstr1="Hello,World!";//直接初始化Stringstr2=newString("Hello,World!");//直接创建一个对象Stringstr3=str1;//str3作为st......