1.0.2 • Published 4 years ago

is-valid-expression v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

功能:

检测表达式是否符合算术运算的规则

引入

import isValidExpression from 'is-valid-expression'

const isValidExpression = require('is-valid-expression')

<script src="./src/is-valid-expression.js"></script>  

使用

可选参数

  • value 待检测字符串
  • keywordExp 自定义变量的正则字符串, 默认为数字的正则字符串
  • example 符合自定义变量正则规则的字符串,可不填,默认为1

1.纯数字算术运算

const str1 = '1*2*3'
const str2 = '1*2*'

isValidExpression(str1)  //true
isValidExpression(str2)  //false

2.带有自定义格式关键字的字符串

例如 '123#{keyword1} - (2- #{keyword2})#{keyword3}'

const str = '1*2*3*#{keyword1} - (2- #{keyword2})*#{keyword3}'
const keywordExp = '\\#\\{[^#\\{\\}]*?\\}'
isValidExpression(srt, keywordExp)  // true

使用示例

const a = '1*2*3'

const b = '1*2*3*#{fdafa} - (2- #{fafa})*#{fasfda}'

const c = '1*2*3*${fdafa} - (2- ${fafa})*${fasfda}'

const e = '$[fafa]*2.3 - 1 + (1+1)/2'

const key = '\\#\\{[^#\\{\\}]*?\\}'

const key2 = '\\$\\{[^\\$\\{\\}]*?\\}'

const key3 = '\\$\\[[^\\$\\[\\]]*?\\]'


console.log(isValidExpression(a))  true

console.log(isValidExpression(b, key)) true

console.log(isValidExpression(c, key2)) true

console.log(isValidExpression(c, key2, '${validExpression}'))  true

console.log(isValidExpression(e, key3, '$[validExpression]'))  true