当前位置:首页 > JavaScript

js replaceall实现

2026-04-06 09:25:44JavaScript

实现 JavaScript 的 replaceAll 功能

在 JavaScript 中,字符串的 replace 方法默认只会替换第一个匹配项。要实现替换所有匹配项的功能(类似 replaceAll),可以采用以下几种方法:

使用正则表达式全局替换

通过正则表达式配合 g 标志实现全局替换:

const str = "Hello world, world!";
const newStr = str.replace(/world/g, "JavaScript");
console.log(newStr); // "Hello JavaScript, JavaScript!"

使用 splitjoin 组合

将字符串按匹配项分割为数组,再用新字符串连接:

const str = "Hello world, world!";
const newStr = str.split("world").join("JavaScript");
console.log(newStr); // "Hello JavaScript, JavaScript!"

ES2021 原生 replaceAll 方法

现代浏览器支持原生 replaceAll 方法:

const str = "Hello world, world!";
const newStr = str.replaceAll("world", "JavaScript");
console.log(newStr); // "Hello JavaScript, JavaScript!"

注意事项

  • 正则表达式方法需注意特殊字符转义,例如替换 . 需使用 /\./g
  • replaceAll 在旧版本浏览器中可能需要 polyfill
  • 性能上,split + join 通常比正则表达式更快

Polyfill 实现

如需兼容旧环境,可添加以下 polyfill:

js replaceall实现

if (!String.prototype.replaceAll) {
  String.prototype.replaceAll = function(str, newStr) {
    return this.replace(new RegExp(str, 'g'), newStr);
  };
}

标签: jsreplaceall
分享给朋友:

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…