gpt4 book ai didi

javascript - Javascript 中算术表达式的安全评估

转载 作者:可可西里 更新时间:2023-11-01 01:46:12 26 4
gpt4 key购买 nike

我需要在 Javascript 中评估用户输入的算术表达式,如“2 * (3 + 4)”,但出于安全原因我不想使用 eval

我可以删除所有不是数字或运算符的字符,但我不确定这是否安全,如果用户可以使用像 cossqrt 等...

有没有做算术表达式计算的 Javascript 库?

最佳答案

你可以试试JavaScript Expression Evaluator :

This library is a modified version ofRaphael Graf’s ActionScript ExpressionParser. When I wrote the JavaScriptFunction Plotter, I wanted a betteralternative to using JavaScript’s evalfunction. There’s no security riskcurrently, because you can only runcode in your own browser, but it’s notas convenient for math (Math.pow(2^x)instead of 2^x, etc.).

那么你的代码将是这样的:

console.info ( Parser.evaluate( "2 * (3 + 4)" ) ); //prints 14

The source code is on GitHub它在 npm 上发布为 expr-eval .可以这样使用:

import { Parser } from 'expr-eval';

console.log(Parser.evaluate("2 * (3 + 4)")); // 14

关于javascript - Javascript 中算术表达式的安全评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5066824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com