Rumah > Soal Jawab > teks badan
求一段js正则,替换一段文字大写替换,将abc替换为a<span>b</span>c
要求 如果abc替换为a<span>dmi</span>n
,如果ABC替换为A<span>DMI</span>N
既大写加<span>
标签后替换为大写,小写加<span>
标签后替换为小写
怪我咯2017-04-10 12:50:12
先吐槽一下:题主找到的答案像提问一样不靠谱
如果字符串是如题写死的,那么这个匹配基本也没啥意义,答案如下
function fuck(str){
return str.replace(/abc/, 'a<span>b</span>c').replace(/ABC/,'A<span>DMI</span>N');
}
如果答案改成将某个小写字母用span包裹起来,大写的替换为某个特定字符串之后也包裹起来的话,答案可以这么写
function strReplace(str, lt, lg, rp){
var ltreg = new RegExp('a'+lt+'c', 'g');
var lgreg = new RegExp('A'+lg+'C', 'g');
var res = ltreg.test(str) ? str.replace(ltreg, 'a<span>'+lt+'</span>c') : str;
console.log(res);
res = ltreg.test(str) ? str.replace(lgreg, 'A<span>'+rp+'</span>N') : str;
return res;
}
strReplace('abc12ABC', 'b', 'B', 'DMI');
PHP中文网2017-04-10 12:50:12
var reg = new RegExp('b', "gi");
'abc'.replace(reg, function (word) {
return "<span>" + word + "</span>";
}));
找到答案了,分享一下