Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

falseLuffy/isValidExpression

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1 Commit

Repository files navigation

功能:

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

引入

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'
console.log(isValidExpression(a)) true
const b = '1*2*3*#{fdafa} - (2- #{fafa})*#{fasfda}'
const key = '\\#\\{[^#\\{\\}]*?\\}'
console.log(isValidExpression(b, key)) true
const c = '1*2*3*${fdafa} - (2- ${fafa})*${fasfda}'
const key2 = '\\$\\{[^\\$\\{\\}]*?\\}'
console.log(isValidExpression(c, key2)) true
console.log(isValidExpression(c, key2, '${validExpression}')) true
const e = '$[fafa]*2.3 - 1 + (1+1)/2'
const key3 = '\\$\\[[^\\$\\[\\]]*?\\]'
console.log(isValidExpression(e, key3, '$[validExpression]')) true

About

判断字符串是否是一个合法表达式

Resources

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /