正则表达式代码
有用字符串形式存储的四则运算的表达式,由四部分组成,分别是操作数1、运算符、操作数2、等号。例如:"33.2 * 66 = "。请编写一函数,以四则运算表达式为参数,利用正则表达式从字符串中取出操作数和运算符,并计算出四则运算表达式的值。
function calculate(str){
var cals = str.replace(/\s/g,'').split(/=/g);
var optor = cals[0].match(/[^\d\.]/g)[0];
eval("var oper = /\\"+optor+"/;");
var nums = cals[0].split(oper);
var result = 0;
var num1 = parseFloat(nums[0]);
var num2 = parseFloat(nums[1]);
switch(optor){
case '*':
result = num1 * num2;
break;
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '/':
if(num2 != 0){
result = num1 / num2;
}
break;
}
return result.toFixed(2);
}