JavaScript 替换全部匹配内容

  • 因为JavaScript 的 replace 只能替换一次,所以另外编写一个能现替换所有匹配内容方法,代码以下:
    /*
    把 content 中全部的 searchValue 替换为 replaceValue
    */ 
     function replaceAll(content,searchValue,replaceValue){
          while (content.indexOf(searchValue)>-1) {
            content = content.replace(searchValue,replaceValue);
          }
          return content;
        }
  • 为何不使用正侧表达式来替换?
    • 由于实际操做中发现 searchValue 的内容太大的时候使用正侧表达式替换会出错
    • 个人场景是把 html 页面 img 中的base64 xxx1,base64 xxx2 图片内容替换为 [image1][image2] 这样的占位符时,若是使用正则表达式就出错
  • 附上通常状况下使用正侧表达式的替换方法
    content.replace(new RegExp(searchValue,'g'),replaceValue)
相关文章
相关标签/搜索