求:将字符串中的'6666' 替换成'****'.
方法1:
使用while()实现将字符串中的'6666' 替换成'****'。
var str = '12345666678906666asjdvmz6666';
// 循环字符串中是否有'6666'
while (str.includes('6666')) {
// 如果有6666 那么将其转化为****
// 但是只能转化第一个符合条件的字符串
str = str.replace('6666', '****');
}
console.log(str);
运行结果:
方法2:
使用forEach循环实现需求:批量替换违禁词 ['6666' , '777'].
var str = '66661234666612347771234777';
var arr = ['6666', '777'];
arr.forEach(function (value) {
while (str.includes(value)) {
str = str.replace(value , '****');
}
})
console.log(str);
运行结果:
方法3:
使用for循环实现批量替换违禁词 ['6666' , '777'].
for( var i = 0 ; i <= str.length-1 ; i++ ){
while( str.includes(arr[i])){
str = str.replace( arr[i] , '****' );
}
}
console.log(str);
运行结果:
方法4:
使用正则表达式替换全部批量替换违禁词 ['6666' , '777']。
if (str.includes('6666')) {
str = str.replace(/6666/g, '****');
}
console.log(str);
运行结果: