Javascript - 将HTML输入字符串转换为数学评估

时间:2014-02-10 15:40:39

标签: javascript jquery html

我一直想知道是否可以使用HTML <input id="in">(我可以输入,比如说25/6 * 3)并使用Javascript输出数学评估,我写了一些非常难以理解的东西工作,有没有办法使它工作?

function go() {
    var x = $("#in").val();
    alert(parseInt(x))
}

非常感谢您的回答

3 个答案:

答案 0 :(得分:2)

是的,您可以使用eval()功能。假设你输入的值是一个值,那么你可以简单地调用eval(myString)来返回结果。

例如,如果您执行以下操作:

alert(eval('3 + 4')); // alerts 7

要小心谨慎,因为你做的任何事都不应该被保存,因为如果有人能够提交一些可以在别人的浏览器上运行的javascript,这可能会导致javascript攻击。

答案 1 :(得分:0)

是的,有可能做你所要求的;你只需要使用eval()但是,使用eval()并不是很安全。因为这意味着将评估#in中的任何 JavasScript代码,这可能不是您想要的。

更好的方法是编写解析器来解析数学表达式并构建语法树,然后对其进行评估。

答案 2 :(得分:0)

您可以使用math.js

的表达式解析器
alert(math.eval('3 + 4'));