javascript - 如何在javascript中计算字符串中的数字?

标签 javascript string integer int parseint

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

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

最佳答案

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

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

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

console.log(result)

关于javascript - 如何在javascript中计算字符串中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56876775/

相关文章:

javascript - 隐藏页面上的div但div在隐藏之前显示

javascript - 我应该在 promise 中调用 XMLHttpRequest async 吗?

javascript - 将具有特定类别的 div 移动到顶部

java - 通过 BufferedWriter 发送大字符串

java - String replaceAll() 方法替换字符串除外

c++ - 如果我不应该使用 unsigned,我该如何在类型级别指定一个非负数?

algorithm - 采访 : lists intersection with limited memory

javascript - jQuery ajax 上下文意外值

javascript - 如何将所有大写字母移动到字符串的开头?

python "TypeError: ' numpy.float6 4' object cannot be interpreted as an integer"