js replaceall实现
在 JavaScript 中实现 replaceAll
JavaScript 的 String.prototype.replaceAll() 方法用于替换字符串中所有匹配的子串。以下是几种实现方式:
使用原生 replaceAll 方法(ES2021+)
现代浏览器和 Node.js(12+)支持原生 replaceAll:

const str = "Hello World, World!";
const newStr = str.replaceAll("World", "JavaScript");
console.log(newStr); // "Hello JavaScript, JavaScript!"
使用正则表达式全局替换
通过正则表达式配合 g 标志实现全局替换:
const str = "Hello World, World!";
const newStr = str.replace(/World/g, "JavaScript");
console.log(newStr); // "Hello JavaScript, JavaScript!"
手动实现 replaceAll(兼容旧环境)
若需兼容不支持 replaceAll 的环境,可手动实现:

function replaceAll(str, search, replacement) {
return str.split(search).join(replacement);
}
const str = "Hello World, World!";
const newStr = replaceAll(str, "World", "JavaScript");
console.log(newStr); // "Hello JavaScript, JavaScript!"
注意事项
-
若
search参数是字符串,需处理特殊字符(如正则元字符)时,需手动转义:function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); } const str = "Hello. World. World!"; const newStr = str.replace(new RegExp(escapeRegExp("."), 'g'), "!"); console.log(newStr); // "Hello! World! World!" -
空字符串替换时,
replaceAll会在每个字符间插入替换内容:console.log("abc".replaceAll("", "x")); // "xaxbxcx"
以上方法覆盖了不同场景下的字符串全局替换需求。






