<SCRIPT LANGUAGE="JavaScript">
<!--var s = "aa+bb-cc*(dd+ee)/ff";
var r = s.match(/[^+\-*/()]+/g);
var mm = {};
if(r)
{
    for(var i=0; i<r.length; i++)
    {
        if("undefined"==typeof(mm[r[i]]))
        {
            mm[r[i]] = r[i];
        }
    }    var str = s;
    for(var i in mm)
    {
        str = str.replace(new RegExp(i, "g"), prompt("请输入", 123));
    }
    alert(str);
    var result = eval(str);
    alert(result);
}//-->
</SCRIPT>

解决方案 »

  1.   

    显示的结果人性化一点:<SCRIPT LANGUAGE="JavaScript">
    <!--var s = "aa+bb-cc*(dd+ee)/ff";
    var r = s.match(/[^+\-*/()]+/g);
    var mm = {};
    if(r)
    {
        for(var i=0; i<r.length; i++)
        {
            if("undefined"==typeof(mm[r[i]]))
            {
                mm[r[i]] = r[i];
            }
        }    var str = "方程式 = "+ s +"\n";
        for(var i in mm)
        {
            mm[i] = prompt("请输入", 123);
            s = s.replace(new RegExp(i, "g"), mm[i]);
            str += i +"="+ mm[i] +"\n";
        }
        str += s +"\n";
        str += "最后运行结果 = "+ eval(s)
        alert(str);
    }//-->
    </SCRIPT>
      

  2.   

    <script>
    s = 'aa+bb-cc*(dd+ee)/ff';
    v = s.match(/\w+/g);for(i=0; i<v.length; i++) {
      eval(v[i]+'='+i);
    }
    alert(eval(s));
    </script>不完全符合你的要求,但就应该这样做