首页 > 求一段js正则,替换一段文字大写替换,将abc替换为a<span>b</span>c

求一段js正则,替换一段文字大写替换,将abc替换为a<span>b</span>c

求一段js正则,替换一段文字大写替换,将abc替换为a<span>b</span>c
要求 如果abc替换为a<span>dmi</span>n,如果ABC替换为A<span>DMI</span>N
既大写加<span>标签后替换为大写,小写加<span>标签后替换为小写


var reg = new RegExp('b', "gi");
'abc'.replace(reg, function (word) {
     return "<span>" + word + "</span>";
}));

找到答案了,分享一下


先吐槽一下:题主找到的答案像提问一样不靠谱

如果字符串是如题写死的,那么这个匹配基本也没啥意义,答案如下

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');
【热门文章】
【热门文章】