JS轉換HTML轉義符
//去掉html標簽
function removeHtmlTab(tab) { return tab.replace(/<[^<>]+?>/g,'');//刪除所有HTML標簽 }
//普通字符轉換成轉意符
function html2Escape(sHtml) { return sHtml.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&','"':'"'}[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| )*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次換行 str=str.replace(/^((\s| )*\r?\n)+/g,'');//清除開頭換行 str=str.replace(/((\s| )*\r?\n)+$/g,'');//清除結尾換行 return str; }
// 將多個連續空格合並成一個空格
function mergeSpace(str) { str=str.replace(/(\s| )+/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
不懂的通知可以查看一張圖看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的區別
轉自: