美文网首页前端开发那些事儿前端技巧
解决js中replaceAll浏览器不兼容问题

解决js中replaceAll浏览器不兼容问题

作者: 芝芝麻麻开花花 | 来源:发表于2021-02-26 10:45 被阅读0次

今天在做项目的时候,出现了有些用户的浏览器使用replaceAll方法报错问题,上网查了才知道,一些旧版浏览器对一些js方法比如这个replaceAll方法不是很兼容,会出现js报错问题。
如果要全部替换的话,浏览器又不支持replaceAll这样的方法,那可以换成了使用正则表可以达成ReplaceAll 的效果:

str.replace(/word/g,"Excel");
g 的意义是:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

var str = "wordwordwordword";
var strNew = str.replace(/word/g,"Excel")
strNew = replaceAll(str);

还有一种方式:

str.replace(new RegExp("word","gm"),"Excel")
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。

str.replace(new RegExp("word","gm"),"Excel")

除此之外,也可以添加 Stirng对象的原型方法:

String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"),s2);
}
这样就可以像使用replace 方法一样使用replaceAll了

str.replaceAll("word","Excel");
总结一下, 三种方式:
  1. str.replace(/oldString/g,newString)
  2. str.replace(new RegExp(oldString,"gm"),newString)
  3. 增加String 对象原型方法 replaceAll

参考来源:
js使用正则实现ReplaceAll全部替换的方法

相关文章

  • replaceAll 兼容性问题

    低版本浏览器普遍不支持replaceAll, 所以谨慎使用此方法。 解决replaceAll 不兼容问题方法: 1...

  • 解决js中replaceAll浏览器不兼容问题

    今天在做项目的时候,出现了有些用户的浏览器使用replaceAll方法报错问题,上网查了才知道,一些旧版浏览器对一...

  • SpringBoot+Netty-socketio实现webso

    socket.io是js实现的,websocket框架,为了解决浏览器不兼容问题而设计socket.io.js下载...

  • 2020-10-17 web创建项目2

    项目搭建过程中需要处理的几点 1.js的处理:转换ES6代码,解决浏览器兼容问题 用 babel 转换 ES6 代...

  • vue2配置axios

    axios配置源码解决兼容问题1解决兼容问题2 npm install axios -s 在main.js中进行以...

  • JS中常遇到的浏览器兼容问题和解决方法

    JS中常遇到的浏览器兼容问题和解决方法 event事件问题: DOM节点相关的问题,我直接封装了函数,以便随时可以...

  • IE浏览器适配

    1、引用JS文件不执行处理: 问题: 使用 引用的js文件在IE浏览器中不执行 解决方法: 改用 或者 引入...

  • jQuery

    jQuery: 它是一个使用原生的JS来封装的常用方法的类库(解决了浏览器的兼容问题)jQuery非常强大的地方在...

  • js和jQuery优缺点

    JS 优点:让网页更活灵活现 他能补助与网页实现各种功能和穿插JS中主要存在的问题:1.浏览器兼容问题2.存在复杂...

  • JS replaceAll

    JS 字符串替换操作有replace() 方法。但是这个方法有些问题,就是只能替换目标字符串中第一个匹配的字符串。...

网友评论

    本文标题:解决js中replaceAll浏览器不兼容问题

    本文链接:https://www.haomeiwen.com/subject/ekhmfltx.html