The simplest way would be to use the Browser.ExecJS() expression. Although the "^" is different in js, so that will have to be worked around. It is appealing to make your own parser so only certain syntax is allowed as ExecJS allows all of Javascript to be used. The problem is it can be tedious to implement.
Here's the approach I would take:
1. Get the text for the formula.
2. Break it up into a list of tokens (numbers, symbols). Regular expressions can be used here or scanning over the text a character at a time, tokenat isn't suitable. Error checking is done here as well to look for invalid syntax.
3. Convert the token list from infix notation (1 + 1) to reverse polish notation (1 1 +) as in that form it's simple to evaluate.
4. evaluate.
http://en.wikipedia.org/wiki/Reverse_Polish_notation
There are other ways out there as the topic is pretty vast. You'll end up writing a lot of events (or code) to get something working well.