将字符串”<tr><td>{$id}</td><td>{$name}</td></tr>”中的{$id}替换成10,{$name}替换成Tonyvar str = "<tr><td>{$id}</td><td>{$name}</td></tr>";console.log(str.replace(/\{\$id\}/,10));我只会这么写,难道要分两次写吗,怎么一次匹配多个,并替换呢?请帮忙看看,非常感谢
2 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
题主,你可以看下楼下的答案,我也推荐他的答案。
我猜你是这个意思 str.replace(/\{\$id\}(.*)\{\$name\}/, '10$1Tony')
但是我建议你这样写
str = str.replace(/\{\$id\}/g, '10') str = str.replace(/\{\$name\}/g, 'Tony')
湖上湖
TA贡献2003条经验 获得超2个赞
var map={"id":"10","name":"Tony"};
var input="<tr><td>{$id}</td><td>{$name}</td></tr>";
/**
**根据传入的数据源字段值,去替换字符串
**/
function setData(dataObj,template){
return template.replace(/{\$([^{}]+)}/ig,function(match,group1){
return dataObj[group1];
});
}
setData(map,input);
- 2 回答
- 0 关注
- 963 浏览
添加回答
举报
0/150
提交
取消