You can use a regular expression to insert a *
between any digit followed by an open bracket to convert your string from 2(3)
to 2*(3)
before passing it through eval()
:
var string = "2(3)",
// Convert string to array (["2", "(", "3", ")"])
array = string.split(''),
ans;
// Insert * between digit and open bracket (["2", "*", "(", "3", ")"])
array.splice(string.search(/\d\(/) + 1, 0, "*");
// Convert array back to string ("2*(3)")
string = array.join("");
// Run eval (6)
ans = eval(string);
console.log(ans);