如何计算JavaScript字符串中的数字?

时间:2019-07-03 19:25:32

标签: javascript string integer int parseint

我从用户那里得到一些输入并将它们保存在div标签中,就像计算器一样,例如,用户输入100-50 + 30,然后在用户单击go时将其存储在div标签中按钮,我想告诉他结果是80。 我尝试使用parseint和number,因为字符串包含+ / *之类的运算符,但它们不起作用

var a = document.querySelector(".output").innerHTML;

2 个答案:

答案 0 :(得分:1)

您可以简单地使用eval,但是出于安全原因,我建议在评估表达式之前从用户输入中删除除数字和允许的运算符之外的所有内容:

const input = '100-50+30 [some malicious code]'

const result = eval(input.replace(/[^0-9\+\-\*\/]/g, ''));

console.log(result)

答案 1 :(得分:0)

使用eval()功能

var expression = '100-50+30';
console.log(eval(expression));

eval()函数评估以字符串表示的JavaScript代码。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval