JS 支持 replaceAll 方法(部分浏览器不自带)

971 阅读1分钟
  • 字符串有 replace() 单次替换方法,也有 replaceAll() 多次全部替换方法,但是 replaceAll() 方法不是所有浏览器都支持。

  • 所以为了 解决兼容问题,需要在 使用之前公共 JS 文件中实现一下字符串扩展,这样就能通过字符串直接进行调用 replaceAll()

    String.prototype.replaceAll = function (s1, s2) {
      return this.replace(new RegExp(s1, "gm"), s2)
    }
    
  • 使用

    var str1 = "dzm123dzm123";
    var str2 = str1.replace("dzm", "xyq");
    var str3 = str1.replaceAll("dzm", "xyq");
    console.log(str2); // 单次替换: xyq123dzm123
    console.log(str3); // 全部替换: xyq123xyq123