一读第、定義和用法
encodeURI() 函數(shù)可把字符串作為 URI 進(jìn)行編碼梅惯。
語法
encodeURI(URIstring)
參數(shù)描述
URIstring必需。一個(gè)字符串帅霜,含有 URI 或其他要編碼的文本。
返回值
URIstring 的副本蒜危,其中的某些字符將被十六進(jìn)制的轉(zhuǎn)義序列進(jìn)行替換虱痕。
說明
該方法不會對 ASCII 字母和數(shù)字進(jìn)行編碼,也不會對這些 ASCII 標(biāo)點(diǎn)符號進(jìn)行編碼: - _ . ! ~ * ' ( ) 辐赞。
該方法的目的是對 URI 進(jìn)行完整的編碼部翘,因此對以下在 URI 中具有特殊含義的 ASCII 標(biāo)點(diǎn)符號,encodeURI() 函數(shù)是不會進(jìn)行轉(zhuǎn)義的:;/?:@&=+$,#
提示和注釋
提示:如果 URI 組件中含有分隔符响委,比如 ? 和 #新思,則應(yīng)當(dāng)使用 encodeURIComponent() 方法分別對各組件進(jìn)行編碼。
此方法的解碼為decodeURI()
二赘风、定義和用法
escape() 函數(shù)可對字符串進(jìn)行編碼夹囚,這樣就可以在所有的計(jì)算機(jī)上讀取該字符串。
語法
escape(string)
參數(shù)描述
string必需邀窃。要被轉(zhuǎn)義或編碼的字符串荸哟。
返回值
已編碼的 string 的副本。其中某些字符被替換成了十六進(jìn)制的轉(zhuǎn)義序列蛔翅。
說明
該方法不會對 ASCII 字母和數(shù)字進(jìn)行編碼敲茄,也不會對下面這些 ASCII 標(biāo)點(diǎn)符號進(jìn)行編碼: - _ . ! ~ * ' ( ) 位谋。其他所有的字符都會被轉(zhuǎn)義序列替換山析。
提示和注釋
提示:可以使用 unescape() 對 escape() 編碼的字符串進(jìn)行解碼。
注釋:ECMAScript v3 反對使用該方法掏父,應(yīng)用使用 decodeURI() 和 decodeURIComponent() 替代它笋轨。
三、JavaScript encodeURIComponent() 函數(shù)
定義和用法
encodeURIComponent() 函數(shù)可把字符串作為 URI 組件進(jìn)行編碼赊淑。
語法
encodeURIComponent(URIstring)
參數(shù)描述
URIstring必需爵政。一個(gè)字符串,含有 URI 組件或其他要編碼的文本陶缺。
返回值
URIstring 的副本钾挟,其中的某些字符將被十六進(jìn)制的轉(zhuǎn)義序列進(jìn)行替換。
說明
該方法不會對 ASCII 字母和數(shù)字進(jìn)行編碼饱岸,也不會對這些 ASCII 標(biāo)點(diǎn)符號進(jìn)行編碼: - _ . ! ~ * ' ( ) 掺出。
其他字符(比如 :;/?:@&=+$,# 這些用于分隔 URI 組件的標(biāo)點(diǎn)符號),都是由一個(gè)或多個(gè)十六進(jìn)制的轉(zhuǎn)義序列替換的苫费。
提示和注釋
提示:請注意 encodeURIComponent() 函數(shù) 與 encodeURI() 函數(shù)的區(qū)別之處汤锨,前者假定它的參數(shù)是 URI 的一部分(比如協(xié)議、主機(jī)名百框、路徑或查詢字符串)闲礼。因此 encodeURIComponent() 函數(shù)將轉(zhuǎn)義用于分隔 URI 各個(gè)部分的標(biāo)點(diǎn)符號。
此方法解碼方式decodeURIComponent