【发布时间】:2015-12-02 15:49:06
【问题描述】:
我需要对动态字符串进行计算。
我将通过 ajax 从名为 rule 的 db 中得到一个方程。 该规则可能包含带有 +、-、*、/、% 等运算符的方程。
如何进行这个计算?
for (var i = 0; i < rules.length; i++) {
var rule = rules[i].rule; // may contain $structurename1$*$structurename2$/$structurename3$ like this
$('form :input[type="text"]').each(function(index,value){
rule = rule.replace('$'+$(this).attr('structurename')+'$',$(this).val());
});
}
$('#result').val(rule);
【问题讨论】:
-
请提供您已经完成的代码,以便我们一起改进。
-
不安全但
eval("(10+5)*2");这本身是安全的,但是当您将其替换为用户输入的变量值时,您就可以让他们通过该 eval 访问运行代码。 -
我有这样的输入字符串 ** "70+30" ** 我只需要结果应该是 "100"
-
我们没有要求您描述您的代码,我们要求您直接发布。
-
stackoverflow.com/questions/6479236/… 这篇文章介绍了几个选项。
标签: javascript jquery