鍍金池/ 問答/HTML/ js字符串中查看有沒有在數(shù)組中的值有的話全部替換掉

js字符串中查看有沒有在數(shù)組中的值有的話全部替換掉

例如
str="一二三四一二三四一二三四一二三四";
arr=["一","三","五"];

現(xiàn)在一 三在存在arr中 那么把一 三 全部替換掉別的字

emmm..

其實(shí)想完成的效果就是在一個(gè)textarea中 如果用戶輸入敏感詞就標(biāo)記為紅色 拼接一個(gè)標(biāo)簽例如span 但是textarea中不能放入標(biāo)簽 用的div模擬的 但是如果敏感詞是這句話的最后一個(gè)詞的話 用戶再輸入就會變紅色 因?yàn)檩斎氲絪pan中了

回答
編輯回答
別傷我

一行代碼解決問題!

console.log([...str].map((val) => arr.indexOf(val) > -1 ? val = '替換字符' : val));
2017年10月2日 22:33
編輯回答
維她命

因?yàn)閱栴}主人修改了問題,答案驢唇不對馬嘴。自刪。

2018年6月13日 05:51
編輯回答
孤島
var str = "一二三五一二五"
var arr = ["一","五"]
str.replace(new RegExp("["+arr+"]","g"),"#")//#二三##二#
2017年1月6日 11:03
編輯回答
局外人
var str = "一二三四一二三四一二三四一二三四";
var arr = ["一", "三", "五"];
var reg = new RegExp(arr.join('|'), 'g');
str = str.replace(reg, "");
console.log(str);   // "二四二四二四二四"
2017年12月30日 06:16
編輯回答
尐懶貓
var str = "一二三四一二三四一二三四一二三四";
var arr = ["一", "三", "五"];
var replaceWord ="R";//需要替換的字符
var replacedStr = str.split('').map((item) => {
    return -1 == arr.indexOf(item)?item:replaceWord;
})
2018年9月2日 10:33
編輯回答
柚稚
可以使用正則, #可以替換為你想要的
    str.replace(new RegExp(arr.join('|'), 'g'), "#")
2018年5月15日 18:03