encodeURI()和encodeURIComponent()


encodeURI()

返回值

URIstring 的副本,其中的某些字符將被十六進制的轉義序列進行替換。

說明

該方法會替換所有的字符,但不包括以下字符,即使它們具有適當的UTF-8轉義序列:

  • 保留字符 ; , / ? : @ & = + $
  • 非轉義的字符 字母 數字 - _ . ! ~ * ' ( )
  • 數字符號 #

encodeURIComponent()

返回值

URIstring 的副本,其中的某些字符將被十六進制的轉義序列進行替換。

說明

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

區別

encodeURIComponent() 不適合對 http 請求的完整 URI 進行編碼

var queryString = 'http://m.test.com?name=測試&redirect_url=http://home.test.com';
console.log(encodeURI(queryString));
console.log(encodeURIComponent(queryString));


但是,如果需要對 URI 的參數信息進行編碼,encodeURIComponent() 會比較合適,因為 redirect_url 參數的值是需要被編碼的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM