把某个$.number_32211212+$.number_2312312324/10中的变量名提取出来利用正则

2 篇文章 0 订阅
export function dynamicsumFun(script, model, key = "$") {
    if (!script) return false;
let reg = /(?<=\.)\w+/g
const match_script = script.match(reg)
let matchObj = {}
match_script.forEach(it=>{
  matchObj[it] = model[it]
})
let scriptAction  = script
for(let key in matchObj){
let sckey = '\\$\\.' + key
//\\号为转义符转义$和.为普通字符串
scriptAction  = scriptAction.replace(new RegExp(sckey,'g'),matchObj[key]+'')
}
return scriptAction
/* const params = {
  formula: scriptAction
}
var res = ''
formcalculation(params).then(itm=>{
  console.log('return data',itm.data)
  res = itm.data
  return res
}) */
}

//字符串型的函数使用

export function dynamicFun(script, model, key = "$") {
  if (!script) return false;
 const func =
    script.indexOf("return") >= 0
      ? "{" + script + "}"
      : "return (" + script + ")";
// 截取$.开始到不是数字或字母结尾的字符串
 const Fn = new Function(key, func);
  return Fn(model);
}

//截取字符串{}中间的字符串

             var needredu = /(?<=\{)(.+?)(?=\})/g
             let result = ''
             result = its.options.maxTotal.match(needredu)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值