将字符串<td>{$id}{$name}</td>中的{$id}替换成10

将字符串”<tr><td>{$id}</td><td>{$name}</td></tr>”中的{$id}替换成10,{$name}替换成Tony

var str = "<tr><td>{$id}</td><td>{$name}</td></tr>";

console.log(str.replace(/\{\$id\}/,10));

我只会这么写,难道要分两次写吗,怎么一次匹配多个,并替换呢?
请帮忙看看,非常感谢


人到中年有点甜
浏览 964回答 2
2回答

慕运维8079593

题主,你可以看下楼下的答案,我也推荐他的答案。我猜你是这个意思&nbsp;str.replace(/\{\$id\}(.*)\{\$name\}/, '10$1Tony')但是我建议你这样写str&nbsp;=&nbsp;str.replace(/\{\$id\}/g,&nbsp;'10') str&nbsp;=&nbsp;str.replace(/\{\$name\}/g,&nbsp;'Tony')

湖上湖

var map={"id":"10","name":"Tony"};var input="<tr><td>{$id}</td><td>{$name}</td></tr>";/****根据传入的数据源字段值,去替换字符串**/function setData(dataObj,template){&nbsp; &nbsp; return template.replace(/{\$([^{}]+)}/ig,function(match,group1){&nbsp; &nbsp; &nbsp; &nbsp; return dataObj[group1];&nbsp; &nbsp; });}setData(map,input);
打开App,查看更多内容
随时随地看视频慕课网APP