Как рассчитать числа в строке в JavaScript? - PullRequest
0 голосов
/ 03 июля 2019

Я получаю некоторые данные от пользователя и сохраняю их в теге div, как калькулятор работает, например, пользователь кладет 100-50 + 30, затем я сохраняю его в теге div в момент, когда пользователь нажимает на кнопку goКнопка Я хочу показать ему результат, который равен 80. Я пробовал parseint и число, так как строка содержит операторы, такие как + / *, они не работают

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

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Вы можете просто использовать eval, но из соображений безопасности я бы рекомендовал удалить все из пользовательского ввода, кроме цифр и разрешенных операторов, до вычисления выражения:

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

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

console.log(result)
0 голосов
/ 03 июля 2019

Использование 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

...