如何将单词转换为数字然后添加

时间:2013-06-03 13:02:31

标签: javascript html

我正在制作一个使用计算器的系统,但是,在任何给定时间用户必须单击一个单词,并且该单词需要有一个值,例如20.请参阅数学公式如何工作的示例:

car = 20;
2 + (car + 1);

该公式的结果是23

这些词和值来自数据库

任何人都知道如何在javascript中执行此操作?

javascript代码:

function addChar(input, character) {
    if (input.value == null || input.value == "0"){
        input.value = character;
    }
    else{
        input.value += character;
    }
}
function cos(form) {
    form.display.value = Math.cos(form.display.value);
}
function sin(form) {
    form.display.value = Math.sin(form.display.value);
}
function tan(form) {
    form.display.value = Math.tan(form.display.value);
}
function sqrt(form) {
    form.display.value = Math.sqrt(form.display.value);
}
function ln(form) {
    form.display.value = Math.log(form.display.value);
}
function exp(form) {
    form.display.value = Math.exp(form.display.value);
}
function sqrt(form) {
    form.display.value = Math.sqrt(form.display.value);
}
function deleteChar(input) {
    input.value = input.value.substring(0, input.value.length - 1)
}
function changeSign(input) {
    if (input.value.substring(0, 1) == "-"){
        input.value = input.value.substring(1, input.value.length);
    }
    else{
        input.value = "-" + input.value
    }
}
function compute(form) {
    form.display.value = eval(form.display.value)
}
function square(form) {
    form.display.value = eval(form.display.value) *
            eval(form.display.value)
}

1 个答案:

答案 0 :(得分:0)

var data = {"car":20};
var formula = " 2 + (%car% + 1)";
for (var index in data){
    formula = formula.replace(new RegExp("%"+index+"%","g"),data[index]);
}
alert(eval(formula));

使用前缀和后缀来忽略部分匹配单词替换错误。 我使用了%