>  Q&A  >  본문

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

怪我咯怪我咯2748일 전650

모든 응답(2)나는 대답할 것이다

  • 怪我咯

    怪我咯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');
    

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 12:50:12

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

    找到答案了,分享一下

    회신하다
    0
  • 취소회신하다