首頁  >  文章  >  web前端  >  javascript轉義函數有哪些

javascript轉義函數有哪些

青灯夜游
青灯夜游原創
2021-06-23 15:06:492828瀏覽

轉義函數:1、escape()函數,可將所有空格、標點、重音符號以及其他非ASCII字元以「%xx」十六進位序列碼取代;2、encodeURI()函數,可把字串當作URI來編碼;3、encodeURIComponent()函數。

javascript轉義函數有哪些

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

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

1.escape()和unescape()

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

   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{[World]}

decodeURI("Hello{[World ]}")

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

注意:

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

3.encodeURIComponent()和decodeURIComponent()

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

decodeURIComponent(URIString)

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

encodeURIComponent(URIString)

範例:

var aa='哈哈+呵呵';
encodeURIt(aa)  //'哈哈 呵呵'
encodeURIComponent(aa)  //'哈哈+呵呵'

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

更多程式相關知識,請造訪:程式設計影片! !

以上是javascript轉義函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn