replaceAll 实现字符串替换全部方法
发表日期:2021-07-01 15:08:40 | 来源: | | 浏览(1235) 分类:页面相关
//最新的谷歌等浏览器内核内置了replaceAll 方法,如果没有的话使用自己实现的
if (typeof String.prototype.replaceAll !== "function"){
String.prototype.replaceAll = function (reg, str) {
var flags = 'g';
if (Object.prototype.toString.call(reg).toLowerCase() === '[object regexp]') {
// 传入的是正则
if (reg.global) {
return this.replace(reg, str);
} else {
flags += (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : '');
reg = reg.source;// 获取正则源码
}
} else {
reg = reg.replace(/([\*\[\]\{\}\-])/g, "\\$1");
}
return this.replace(new RegExp(reg, flags), str);
}
}
宁公网安备 64010402001209号