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));
var obj = {EmployeeName:'张三', DeptName:'开发部',BornDate:'1980-08-08'}; html = html.replace(/(\{(\w+?)\})/g, function(a,b,c){return obj[c]||b}); js5.5版本
用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>
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);这样写更清楚一些.
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));
html = html.replace(/(\{(\w+?)\})/g, function(a,b,c){return obj[c]||b});
js5.5版本
//<![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>
var obj = {EmployeeName:'张三', DeptName:'开发部',BornDate:'1980-08-08'};
html = html.replace(/(\{(\w+?)\})/g, function($0,$1,$2){return obj[$2]||$1});
alert(html);这样写更清楚一些.