JS編碼&解碼&HTML轉義__arcinfo

來源:互聯網
上載者:User

JS轉換HTML轉義符

//去掉html標籤

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

//一般字元轉換成轉意符

function html2Escape(sHtml) { return sHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];});}

//轉意符換成一般字元

function escape2Html(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});}

//  轉成空格

function nbsp2Space(str) { var arrEntities = {'nbsp' : ' '}; return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]})}

//斷行符號轉為br標籤

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

//去除開頭結尾換行,並將連續3次以上換行轉換成2次換行

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

// 將多個連續空格合并成一個空格

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

JS編碼解碼
一、定義和用法
encodeURI() 函數可把字串作為 URI 進行編碼。

文法
encodeURI(URIstring)
參數 描述
URIstring 必需。一個字串,含有 URI 或其他要編碼的文本。
傳回值
URIstring 的副本,其中的某些字元將被十六進位的逸出序列進行替換。

說明
該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ’ ( ) 。

該方法的目的是對 URI 進行完整的編碼,因此對以下在 URI 中具有特殊含義的 ASCII 標點符號,encodeURI() 函數是不會進行轉義的:;/?:@&=+$,#

提示和注釋
提示:如果 URI 組件中含有分隔字元,比如 ? 和 #,則應當使用 encodeURIComponent() 方法分別對各組件進行編碼。

此方法的解碼為decodeURI()

二、定義和用法

escape() 函數可對字串進行編碼,這樣就可以在所有的電腦上讀取該字串。

文法
escape(string)
參數 描述
string 必需。要被轉義或編碼的字串。
傳回值
已編碼的 string 的副本。其中某些字元被替換成了十六進位的逸出序列。

說明
該方法不會對 ASCII 字母和數字進行編碼,也不會對下面這些 ASCII 標點符號進行編碼: - _ . ! ~ * ’ ( ) 。其他所有的字元都會被逸出序列替換。

提示和注釋
提示:可以使用 unescape() 對 escape() 編碼的字串進行解碼。

注釋:ECMAScript v3 反對使用該方法,應用使用 decodeURI() 和 decodeURIComponent() 替代它。

三、JavaScript encodeURIComponent() 函數

定義和用法
encodeURIComponent() 函數可把字串作為 URI 組件進行編碼。

文法
encodeURIComponent(URIstring)
參數 描述
URIstring 必需。一個字串,含有 URI 組件或其他要編碼的文本。
傳回值
URIstring 的副本,其中的某些字元將被十六進位的逸出序列進行替換。

說明
該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ’ ( ) 。

其他字元(比如 :;/?:@&=+$,# 這些用於分隔 URI 組件的標點符號),都是由一個或多個十六進位的逸出序列替換的。

提示和注釋
提示:請注意 encodeURIComponent() 函數 與 encodeURI() 函數的區別之處,前者假定它的參數是 URI 的一部分(比如協議、主機名稱、路徑或查詢字串)。因此 encodeURIComponent() 函數將轉義用於分隔 URI 各個部分的標點符號。
此方法解碼方式decodeURIComponent

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.