js對字符串進行編碼的方法:

1.escape();
語法:
escape(string) // string 必需。要被轉義或編碼的字符串。
返回值:
已編碼的 string 的副本。其中某些字符被替換成了十六進制的轉義序列。
說明:
該方法不會對 ASCII 字母和數字進行編碼,也不會對下面這些 ASCII 標點符號進行編碼:** * @ - _ + . / **
解碼:
unescape();
提示:
ECMAScript v3 反對使用該方法,用 encodeURI() 和 encodeURIComponent() 替代它。但是如果想轉義單引號,用這個就蠻好的。
例子:

console.log(escape("Visit W3School!"))  //Visit%20W3School%21
console.log(escape("?!=()#%&")) //%3F%21%3D%28%29%23%25%26
console.log(escape("*@-_+./"))  //*@-_+./
console.log(escape("'"))    //%27

2.encodeURI();
語法:
encodeURI(URIstring) // URIstring 必需。一個字符串,含有 URI 或其他要編碼的文本。
返回值:
已編碼的 URIstring 的副本,其中的某些字符將被十六進制的轉義序列進行替換。
說明:
該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼:** - _ . ! ~ * ' ( ) **
該方法的目的是對 URI 進行完整的編碼,因此對以下在 URI 中具有特殊含義的 ASCII 標點符號,encodeURI() 函數是不會進行轉義的:;/?:@&=+$,#
提示:
如果 URI 組件中含有分隔符,比如 ? 和 #,則應當使用 encodeURIComponent() 方法分別對各組件進行編碼。
例子:

console.log(encodeURI("http://www.w3school.com.cn"))    //http://www.w3school.com.cn
console.log(encodeURI("http://www.w3school.com.cn/yzb/"))   //http://www.w3school.com.cn/yzb/
console.log(encodeURI(";/?:@&=+$,#"))   //;/?:@&=+$,#
console.log(encodeURI("-_.!~*'()")) //-_.!~*'()
console.log(encodeURI(" ")) //%20

3.encodeURIComponent();
語法:
encodeURIComponent(URIstring) // URIstring 必需。一個字符串,含有 URI 組件或其他要編碼的文本。
返回值:
已編碼的 URIstring 的副本,其中的某些字符將被十六進制的轉義序列進行替換。
說明:
該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: ** - _ . ! ~ * ' ( ) **
其他字符(比如:** ;/?:@&=+$,# ** 這些用于分隔 URI 組件的標點符號),都是由一個或多個十六進制的轉義序列替換的。
提示:
請注意 encodeURIComponent() 函數 與 encodeURI() 函數的區別之處,前者假定它的參數是 URI 的一部分(比如協議、主機名、路徑或查詢字符串)。因此 encodeURIComponent() 函數將轉義用于分隔 URI 各個部分的標點符號。
例子:

console.log(encodeURIComponent("http://www.w3school.com.cn"))   //http%3A%2F%2Fwww.w3school.com.cn
console.log(encodeURIComponent("http://www.w3school.com.cn/yzb/"))  //http%3A%2F%2Fwww.w3school.com.cn%2Fyzb%2F
console.log(encodeURIComponent(";/?:@&=+$,#"))  //%3B%2F%3F%3A%40%26%3D%2B%24%2C%23
console.log(encodeURIComponent("-_.!~*'()"))    //-_.!~*'()
console.log(encodeURIComponent(" "))    //%20
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、定義和用法 encodeURI() 函數可把字符串作為 URI 進行編碼。 語法 encodeURI(URIs...
    程序猿吳彥祖閱讀 1,709評論 0 1
  • 1、當然是感情更重要。因為你一直都擁有著感情,你不知道沒有感情的痛苦,如果你有錢卻沒有感情,那是比有感情卻沒有錢的...
    火柴丨閱讀 3,423評論 0 5
  • 當很多人在成長的路上,有人越來越開放,似乎什么都不是問題。有人越來越偏執,只堅守自己堅守的東西,其它的事情甚至不會...
    王五月閱讀 286評論 0 1
  • 這兩天因為頭疼,被爸爸說,搞得人心疲憊,我知道這是那看不見的阻攔。 我也因為老師感同深受的代禱感動的流下了眼淚...
    ca24b0fd266d閱讀 106評論 0 0
  • 文/心靈擺渡人 【清晨三問】 a.今天準備以什么心情度過一天?放松 b.今天最重要的一件事?內觀,調整自己的狀態 ...
    心靈擺渡人Justin閱讀 170評論 0 0