У меня есть этот простой калькулятор калькулятора, но он не позволяет власти ^.Как получить вход 2^3 в Math.pow (2, 3)?
function getValues() {
var input = document.getElementById('value').value;
document.getElementById('result').innerHTML = eval(input);
}
<label for="value">Enter: </label><input id="value">
<div id="result">Results</div>
<button onclick="getValues()">Get Results</button>
Я попытался с помощью input = input.replace('^', 'Math.pow(,)');
Но я не знаю, как получить значения перед '^' и после того, как в скобках.
Пример: (1 + 2)^3^3 следует дать 7,625,597,484,987
Простой случай, когда это просто 'х^y' где' х, y' целые числа является довольно выполнимо с помощью простого регулярного выражения , Однако правильное разбирательство чего-то типа '(2 + 34)^5', очевидно, более сложное. Не могли бы вы уточнить, что вы хотите сделать? – CollinD
см.: [Основы для выражения оценки выражения] (http://stackoverflow.com/a/20919547/2521214) – Spektre