js轉義操作函數


js中有很多函數可以用來轉義和反轉義,如escape()和unescape()、encodeURI()和decodeURI()、encodeURIComponent()和decodeURIComponent()等。

1.escape()和unescape()

   escape()函數將參數轉換為字符串,並以URL編碼的格式進行編碼。在這種格式中,所有空格、標點、重音符號以及其他非ASCII字符都要%xx十六進制序列碼代替。如空格的返回時%20。

   escape(param);

   參數param是轉換為字符串並以URL編碼格式進行編碼的表達式。

    unescape()功能恰好相反,將URL編碼格式字符串進行解碼返回字符串。

   unescape(param);

   例如:

   escape("Hello{[World]}");

  轉義結果為:Hello%7B%5BWorld%5D%7D

 unescape("Hello%7B%5BWorld%5D%7D")

 返回結果:Hello{[World]}

缺點:escape()和unescape()只能處理ASCII字符,不推薦使用這兩個方法進行轉義、解碼。

2.encodeURI()和decodeURI()

encodeURI()函數將文本字符串編碼為一個有效的統一資源標識符(URI)。而decodeURI()將URI解碼為一般字符串。

encodeURI(param);

param是一個將被編碼的字符串

decodeURI(param);

恰恰相反

例如:

encodeURI("Hellow{[World]}")

  轉義結果為:Hello%7B%5BWorld%5D%7D

decodeURI("Hello%7B%5BWorld%5D%7D")

 返回結果:Hello{[World]}。

注意:

encodeURI()函數單靠自身不能形成HTTP GET請求或者POST請求,因為&、+、=都不會被轉碼,這幾個字符在GET或POST請求中被作為特殊字符對待。

3.encodeURIComponent()和decodeURIComponent()

這兩個函數也是用來編碼和解碼

decodeURIComponent(URIString)

URIString為一個已編碼的URI組件。

encodeURIComponent(URIString)

encodeURIComponent()可以轉換除英文字母、數字、-、_、.、!、~、*、'、(、)外的所有字符


免責聲明!

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



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