求一段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>标签后替换为小写

阅读 6.4k
2 个回答

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

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

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

找到答案了,分享一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题