如何使用javascript替换字符串中变量的所有出现?

mar*_*cgg 4 javascript regex

我正在尝试使用javascript替换字符串中所有出现的变量.

这不起作用:

var id = "__1";
var re = new RegExp('/' + id + '/g');
var newHtml = oldHtml.replace( re, "__2");
Run Code Online (Sandbox Code Playgroud)

这只是替换第一次出现的id:

var id = "__1";
var newHtml = oldHtml.replace( id,"__2");
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

谢谢

Vot*_*ple 12

实例化RegExp对象时,不需要使用斜杠; 标志作为第二个参数传递.例如:

var id = "__1";
var re = new RegExp(id, 'g');
var newHtml = oldHtml.replace( re, "__2");
Run Code Online (Sandbox Code Playgroud)