JavaScript 实现字符串全局替换而非仅首个匹配
作者:木棉时间:2026-10-28 11:47:31浏览:562
本文介绍在 JavaScript 中如何使用正则表达式的 'g' 标志实现字符串的全局替换。默认情况下,String.prototype.replace 仅替换第一个匹配项,通过构造带有 'g' 标志的正则表达式,可以一次性替换所有符合条件的子串,适用于清理 HTML 标签或批量修改文本内容。
JavaScript 字符串全局替换问题与解决方案
在 JavaScript 开发中,处理字符串替换时,常见的写法如 replyText = replyText.replace("aa", "");
这种写法存在局限性,它只会替换字符串中出现的第一个 "aa" 实例。若需求是移除或替换所有匹配的 "aa",该方法无法直接满足要求。
可以通过以下代码示例参考解决方案:
代码如下:
function del_html_tags(str, reallyDo, replaceWith) {
var e = new RegExp(reallyDo, "g");
words = str.replace(e, replaceWith);
return words;
} str是目标字符串
reallyDo是替换谁
replaceWith是替换成什么。
var replyText="<p>恭恭敬敬恭恭敬敬恭恭敬敬</p><p><br /></p><p>恭恭敬敬恭恭敬敬恭恭敬敬恭恭敬敬</p><p><br /></p>";
eg:
代码如下:
replyText= del_html_tags(replyText,"<br />"," ");
replyText= del_html_tags(replyText,"<p>","");
replyText= del_html_tags(replyText,"</p>",""); 就可以得到
"恭恭敬敬恭恭敬敬恭恭敬敬 恭恭敬敬恭恭敬敬恭恭敬敬恭恭敬敬"
作者最新文章
JavaScript怎么准确判断数据类型:typeof、instanceof与Object.prototype.toString
2026-11-05 17:09:21
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
