假设传入的值为{EmployeeName:'张三', DeptName:'开发部',BornDate:'1980-08-08'}自己顶

解决方案 »

  1.   


    var html = " <table> <tr> <td>{EmployeeName} </td> <td>{DeptName} </td> <td>{BornDate} </td> </tr> </table>";
    var obj = {EmployeeName:'张三', DeptName:'开发部',BornDate:'1980-08-08'};function change(s,obj){
       var p, re;
       for(e in obj){
         re = new RegExp("{"+e+"}","g");
         s = s.replace(re, eval("obj." + e));
       }
       return s;
    }alert(change(html,obj));
      

  2.   

    var obj = {EmployeeName:'张三', DeptName:'开发部',BornDate:'1980-08-08'};
    html = html.replace(/(\{(\w+?)\})/g, function(a,b,c){return obj[c]||b});
    js5.5版本
      

  3.   

    用fosjos 的方法是可以的...    <script type="text/javascript">
        //<![CDATA[
    var s = " <table> <tr> <td>{EmployeeName} </td> <td>{DeptName} </td> <td>{BornDate} </td> </tr> </table>";       var a = {EmployeeName:'张三', DeptName:'开发部',BornDate:'1980-08-08'}; alert(s.replace(/(?:\{(\w+)\})/g, function(c,b){return a[b]}));
        //]]>
        </script>
      

  4.   

    var html = " <table> <tr> <td>{EmployeeName} </td> <td>{DeptName} </td> <td>{BornDate} </td> </tr> </table>"; 
    var obj = {EmployeeName:'张三', DeptName:'开发部',BornDate:'1980-08-08'};
    html = html.replace(/(\{(\w+?)\})/g, function($0,$1,$2){return obj[$2]||$1});
    alert(html);这样写更清楚一些.