原生js中没有replaceAll方法,只有replace。如果要将字符串替换,一般使用replace,但是replace只会替换找到的第一个原字符。这里结合自己的使用介绍一下JS实现replaceAll方法。
方法一、正则表达式替换(“-”“+”)
//替换所有减号
var str = '2017-10-23';
//g表示执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
var result = str.replace(/-/g,'');
console.log(result);
结果:20171023
//替换所有加号
var str = '2017+10+23';
//这里+号需要用[+]表示
var result = str.replace(/[+]/g,'');
console.log(result);
结果:20171023
//替换所有加号
var str = '2017+10+23';
//这里+号需要用[+]表示,m表示执行多行匹配。
var result = str.replace(new RegExp("[+]","gm"),"Excel")
console.log(result);
结果:20171023
方法二、字符串分解替换
var str = '2017-10-23';
var result = str.split('-').join('');
console.log(result);
结果:20171023
var str = '2017+10+23';
var result = str.split('+').join('');
console.log(result);
结果:20171023
方法三、添加 Stirng对象replaceAll 原型
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"),s2);
}