如何在javascript中替换几个单词

Sha*_*aoz 5 javascript string replace

我想用replace()javascript 替换文本中的几个单词,我该怎么做?

例如,如果我想用' 成龙 ' 替换' 戴夫钱伯斯,大卫钱伯斯,威尔史密斯 ' ,无论他们是大写还是小写,我是否必须继续重复这个方法每次都是字符串变量,即replace()

var str = sometext.innerHTML;
str.replace('Dave Chambers', 'Jackie Chan');
str.replace('David Chambers', 'Jackie Chan');
str.replace('Will Smith', 'Jackie Chan');
Run Code Online (Sandbox Code Playgroud)

And*_*y E 13

使用带有alternator(|)和不区分大小写的修饰符(/i)的正则表达式:

var str = sometext.innerHTML,
    reg = /Dave Chambers|David Chambers|Will Smith/i;

str = str.replace(reg, "Jackie Chan"); 
Run Code Online (Sandbox Code Playgroud)

更短,更复杂的正则表达式可能是:

/Dav(?:e|id) Chambers|Will Smith/i;
Run Code Online (Sandbox Code Playgroud)

如果可能出现多次,请添加全局修饰符(g)以替换所有:

/Dav(?:e|id) Chambers|Will Smith/ig;
Run Code Online (Sandbox Code Playgroud)

您可以在此处或通过搜索Google 了解有关正则表达式的更多信息.你可以在这里看到一个有效的演示.