当前位置:首页 > JavaScript

js 实现replaceall

2026-03-14 16:58:03JavaScript

实现 JavaScript 的 replaceAll 方法

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

使用正则表达式全局替换

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

js 实现replaceall

const str = "apple banana apple";
const newStr = str.replace(/apple/g, "orange");
console.log(newStr); // "orange banana orange"

使用 splitjoin 组合

通过分割字符串再重新组合的方式实现替换:

js 实现replaceall

const str = "apple banana apple";
const newStr = str.split("apple").join("orange");
console.log(newStr); // "orange banana orange"

ES2021 的 replaceAll 方法

现代浏览器和 Node.js 已原生支持 replaceAll

const str = "apple banana apple";
const newStr = str.replaceAll("apple", "orange");
console.log(newStr); // "orange banana orange"

自定义 polyfill 函数

为兼容旧环境可自定义实现:

if (!String.prototype.replaceAll) {
    String.prototype.replaceAll = function(search, replacement) {
        return this.split(search).join(replacement);
    };
}

注意事项

  • 正则表达式方法中特殊字符需要转义
  • 原生 replaceAll 在 Safari 14+ 和 Node.js 15+ 才完全支持
  • 性能上 split + join 通常优于正则表达式

标签: jsreplaceall
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现拷贝

js实现拷贝

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

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…