真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JS實(shí)現(xiàn)html轉(zhuǎn)義和反轉(zhuǎn)義的方法

小編給大家分享一下JS實(shí)現(xiàn)html轉(zhuǎn)義和反轉(zhuǎn)義的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)是一群有想法、有熱情,對(duì)互聯(lián)網(wǎng)抱有執(zhí)著信念的年輕人,愿用自己的智慧和熱情,幫助您使用好互聯(lián)網(wǎng)工具,成為您的建站英雄,成為您網(wǎng)站制作和網(wǎng)絡(luò)營(yíng)銷的“秘密武器”,專注于網(wǎng)站策劃、備案、空間域名、設(shè)計(jì)、后臺(tái)開發(fā)、關(guān)鍵詞優(yōu)化排名、運(yùn)營(yíng)管理、維護(hù)服務(wù)、微信網(wǎng)站、移動(dòng)網(wǎng)站建設(shè),網(wǎng)站上線不是大家合作的終結(jié),相反,網(wǎng)站維護(hù)才剛剛開始,我們期待常年累月的網(wǎng)站運(yùn)行過程總著為您提供更多的支持。我們致力于解決問題,創(chuàng)造價(jià)值,不推諉,主動(dòng)承擔(dān)。

1、JS實(shí)現(xiàn)html轉(zhuǎn)義和反轉(zhuǎn)義主要有兩種方式:

1)、利用用瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)html轉(zhuǎn)義;

2)、用正則表達(dá)式實(shí)現(xiàn)html轉(zhuǎn)義;

2、封裝的JS工具類:

var HtmlUtil = {
    /*1.用瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)html編碼(轉(zhuǎn)義)*/
    htmlEncode:function (html){
      //1.首先動(dòng)態(tài)創(chuàng)建一個(gè)容器標(biāo)簽元素,如DIV
      var temp = document.createElement ("div");
      //2.然后將要轉(zhuǎn)換的字符串設(shè)置為這個(gè)元素的innerText或者textContent
      (temp.textContent != undefined ) ? (temp.textContent = html) : (temp.innerText = html);
      //3.最后返回這個(gè)元素的innerHTML,即得到經(jīng)過HTML編碼轉(zhuǎn)換的字符串了
      var output = temp.innerHTML;
      temp = null;
      return output;
    },
    /*2.用瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)html解碼(反轉(zhuǎn)義)*/
    htmlDecode:function (text){
      //1.首先動(dòng)態(tài)創(chuàng)建一個(gè)容器標(biāo)簽元素,如DIV
      var temp = document.createElement("div");
      //2.然后將要轉(zhuǎn)換的字符串設(shè)置為這個(gè)元素的innerHTML(ie,火狐,google都支持)
      temp.innerHTML = text;
      //3.最后返回這個(gè)元素的innerText或者textContent,即得到經(jīng)過HTML解碼的字符串了。
      var output = temp.innerText || temp.textContent;
      temp = null;
      return output;
    },
    /*3.用正則表達(dá)式實(shí)現(xiàn)html編碼(轉(zhuǎn)義)*/
    htmlEncodeByRegExp:function (str){ 
       var temp = "";
       if(str.length == 0) return "";
       temp = str.replace(/&/g,"&");
       temp = temp.replace(//g,">");
       temp = temp.replace(/\s/g," ");
       temp = temp.replace(/\'/g,"'");
       temp = temp.replace(/\"/g,""");
       return temp;
    },
    /*4.用正則表達(dá)式實(shí)現(xiàn)html解碼(反轉(zhuǎn)義)*/
    htmlDecodeByRegExp:function (str){ 
       var temp = "";
       if(str.length == 0) return "";
       temp = str.replace(/&/g,"&");
       temp = temp.replace(/</g,"<");
       temp = temp.replace(/>/g,">");
       temp = temp.replace(/ /g," ");
       temp = temp.replace(/'/g,"\'");
       temp = temp.replace(/"/g,"\"");
       return temp; 
    },
    /*5.用正則表達(dá)式實(shí)現(xiàn)html編碼(轉(zhuǎn)義)(另一種寫法)*/
    html2Escape:function(sHtml) {
       return sHtml.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&','"':'"'}[c];});
    },
    /*6.用正則表達(dá)式實(shí)現(xiàn)html解碼(反轉(zhuǎn)義)(另一種寫法)*/
    escape2Html:function (str) {
       var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
       return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
    }
  };

3、測(cè)試及效果:

1)、html代碼:

&
&

2)、js測(cè)試代碼:

var strHtml='符號(hào):&
';   document.getElementById("testdiv").innerHTML=strHtml;   var encodedHtml= HtmlUtil.htmlEncode(strHtml);// "<div >符號(hào):&amp;<div>"   document.getElementById("testdiv1").innerHTML=encodedHtml;   var decodedHtml=HtmlUtil.htmlDecode(encodedHtml);// '符號(hào):&
'   document.getElementById("testdiv2").innerHTML=decodedHtml;   var strHtml_1='符號(hào):&
';   document.getElementById("regdiv").innerHTML=strHtml_1;   var encodedHtml_1 =HtmlUtil.htmlEncodeByRegExp(strHtml_1);// "<div >符號(hào):&amp;<div>"   document.getElementById("regdiv1").innerHTML=encodedHtml_1;   var decodedHtml_1 =HtmlUtil.htmlDecodeByRegExp(encodedHtml_1);// '符號(hào):&
'   document.getElementById("regdiv2").innerHTML=decodedHtml_1;   var strHtml_2='符號(hào):&
';   document.getElementById("regdiv3").innerHTML=strHtml_2;   var encodedHtml_2 =HtmlUtil.htmlEncodeByRegExp(strHtml_2);// "<div >符號(hào):&amp;<div>"   document.getElementById("regdiv4").innerHTML=encodedHtml_2;   var decodedHtml_2 =HtmlUtil.htmlDecodeByRegExp(encodedHtml_2);// '符號(hào):&
'   document.getElementById("regdiv5").innerHTML=decodedHtml_2;

3)、效果圖:

 JS實(shí)現(xiàn)html轉(zhuǎn)義和反轉(zhuǎn)義的方法

4、其他的一些處理html字符串的常用方法

1)、去掉字符串中的html標(biāo)簽

function removeHtmlTab(tab) {
return tab.replace(/<[^<>]+?>/g,'');//刪除所有HTML標(biāo)簽
}
removeHtmlTab('zylzzc');// zylzzc

2)、回車\r\n轉(zhuǎn)為
標(biāo)簽

function return2Br(str) {
  return str.replace(/\r?\n/g,"");
}

3)、去除開頭結(jié)尾換行,并將連續(xù)3次以上換行轉(zhuǎn)換成2次換行

function trimBr(str) {
  str=str.replace(/((\s| )*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次換行
  str=str.replace(/^((\s| )*\r?\n)+/g,'');//清除開頭換行
  str=str.replace(/((\s| )*\r?\n)+$/g,'');//清除結(jié)尾換行
  return str;
}

4)、將多個(gè)連續(xù)空格合并成一個(gè)空格

function mergeSpace(str) {
  str=str.replace(/(\s| )+/g,' ');
  return str;
}

JavaScript可以做什么

1.可以使網(wǎng)頁具有交互性,例如響應(yīng)用戶點(diǎn)擊,給用戶提供更好的體驗(yàn)。 2.可以處理表單,檢驗(yàn)用戶的輸入,并提供及時(shí)反饋節(jié)省用戶時(shí)間。 3.可以根據(jù)用戶的操作,動(dòng)態(tài)的創(chuàng)建頁面。 4使用JavaScript可以通過設(shè)置cookie存儲(chǔ)在瀏覽器上的一些臨時(shí)信息。

以上是“JS實(shí)現(xiàn)html轉(zhuǎn)義和反轉(zhuǎn)義的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站名稱:JS實(shí)現(xiàn)html轉(zhuǎn)義和反轉(zhuǎn)義的方法
標(biāo)題路徑:http://weahome.cn/article/ipsgeg.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部