@ replace被替换的字符串是变量怎么替换
replace() 方法
-
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
stringObject.replace(regexp/substr,replacement)
替换字符串
//例子1 var text="1,2,3" text.replace(/1/g, "电话").replace(/2/g, "座机").replace(/3/g, "手机") //结果=》"电话,座机,手机"
(正则替换)手机号中间四位隐藏.
//例子2(正则替换)手机号中间四位隐藏 var text="18657842364" text.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2") //结果=》"186****2364"
当被替换的字符串是变量
//需求:一段话里,如果匹配到一个数组里面有这个关键字. 就把这个文字标绿
string.replace(new RegExp(key,‘g’),“b”);
var text="我想知道雨女无瓜是什么意思",arr=[{key:'雨女无瓜',value:'与你无关的意思'},{key:'新蚊连啵',value:'被无数的蚊子咬了'}]; arr.forEach((item,i)=>{ if(text.includes(item.key)){ text=text.replace(new RegExp(item.key, "g"),"<span style='color:#10C287'>"+item.key+"</span>") } }) console.log(text) //结过=》"我想知道`<span style='color:#10C287'>雨女无瓜</span>`是什么意思".
在react 里你就可以用 dangerouslySetInnerHTML 来显示一段匹配到关键字的文字
<div dangerouslySetInnerHTML={{ __html: text }} />