Expression Calculator

by Bahman Shafiei

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/10.4.3/math.js"></script>
<html>

  <head></head>

  <body>
    <p>
      V1: <input id="v1" />
    </p>
    <p>
      V2: <input id="v2" />
    </p>
    <p>
      V3: <input id="v3" />
    </p>
    <p>
      V4: <input id="v4" />
    </p>
    <p>
      Fromula: <input id="f1" />
    </p>
    <p>
      <button id="doAction">
        Calculate
      </button>
    </p>
  </body>

</html>

JavaScript

var doAction = document.getElementById('doAction');

doAction.addEventListener('click', (s, e) => {  
  var scope=expressionArray("(v1+v2)*v3-v4");
  var formula = document.getElementById('f1').value;
  const result = math.evaluate(formula, scope)
  
  //console.log(scope);
  console.log(result);
});
function expressionArray(init)
{
	var text="";
  var split_var = init.split(/[*-/+()]+/);
  var obj={};
  split_var.forEach((s,e)=>{  	
  	if(document.getElementById(s))
    {
    	obj[s]=document.getElementById(s).value;
    }    
  });
  return obj;
}