replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
問題:
在使用ueditor 富文本編輯器,給字體顏色時,發現getCent后的內容顏色為rgb
	如 <span style="color: rgb(0, 0, 255);" >aaaaa </spa>
而前端需求rgb的讀取不了,因此要轉成16進制的顏色。找了uedtitor編輯器一圈,沒找到方法。
因此。我想到的解決方法是,在提交保存之前,把富文本里的內容找出rgb顏色并替換成16進制顏色。
解決的js如下
function doSubmit(){  var content = UE.getEditor('messageTemplate').getContent();   content = content.replace(/rgba?/(/s?/d+/s?,/s?/d+/s?,/s?/d+/s?/)/g,function(){    return fixColor('color',arguments[0]);  })  .......} //rgb顏色 轉16進制function fixColor(name,value){  if (/color/i.test(name) && /rgba?/.test(value)) {    console.log(value);    var array = value.split(",");    if (array.length > 3){      return "";    }    value = "#";    for (var i = 0, color; color = array[i++];) {      color = parseInt(color.replace(/[^/d]/gi, ''), 10).toString(16);      value += color.length == 1 ? "0" + color : color;    }    value = value.toUpperCase();  }  return value;}js正則replace 還是好用的哈。
function test(){  var str = "<color color_tag=/"#112233/">";//目標替換成 <color=#112233>  str = str.replace(/ color_tag=/"(#.{6})/"/g,function(){    return "="+arguments[1];  })  console.log(str);}總結
以上所述是小編給大家介紹的javacript replace 正則取字符串中的值并替換,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答