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>","");

就可以得到



"恭恭敬敬恭恭敬敬恭恭敬敬 恭恭敬敬恭恭敬敬恭恭敬敬恭恭敬敬"

作者最新文章