如何在innerHTML.replace中使用变量I.e innerHTML.replace(/ var / g,'var)

时间:2014-12-09 21:00:41

标签: javascript

我可以用这段代码替换一个实例:

var someString = ['He', 'Test', 'of'];
var x = 0;
for (i = 0; i < 2; i++) {
    document.body.innerHTML = document.body.innerHTML.replace(''+someString[i]+'', 'text');
}

如何让它替换所有实例?我试过这个:

/+someString[x]+/g 
/'+someString[x]+'/g

因为使用普通字符串,所以当字符串是变量字符串时,/ Test / g将如何格式化它。

3 个答案:

答案 0 :(得分:1)

使用new RegExp从字符串创建正则表达式:

for (i = 0; i < 2; i++) {
    var re = new RegExp(someString[x], 'g')
    document.body.innerHTML = document.body.innerHTML.replace(re, 'text');
}

答案 1 :(得分:0)

您可以使用新的RegExp

var Replace = ['He', 'Test', 'of'];
for (var = 0;i<String.length;i++) {

var search = Replace[i];
var regEx = new RegExp(search, "g");
var replaceMask = 'text';

var result = 'Test He of where Test he of so'.replace(regEx, replaceMask);
document.body.innerHTML = result;
}

答案 2 :(得分:0)

试试这个

var someString = ['He', 'Test', 'of'];
var x = 0;
for (i = 0; i < 2; i++) {
    document.body.innerHTML = document.body.innerHTML.replace(new RegExp(someString[i],"g"), 'text');
}