中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js 轉義字符及URI編碼詳解

發布時間:2020-10-17 14:42:20 來源:腳本之家 閱讀:9418 作者:開發之路 欄目:web開發

URL中的轉義字符

當URL的參數中出現諸如+,空格,/,?,%,#,&,=等特殊字符串符號時,因為上述字符有特殊含義,導致服務器端無法正確解析參數,如何處理?解決辦法:將這些字符轉化成服務器可以識別的字符。

如果要在URL中傳遞特殊符號的原本意義,要對他們進行編碼。編碼的格式為:%加字符的ASCII碼(16進制),例如空格的編碼值是"%20"。

URL中特殊符號的用途及普通意義的編碼

+

URL 中+號表示空格

%2B

空格

URL中的空格可以用+號或者編碼

%20

/

分隔目錄和子目錄

%2F

?

分隔實際的URL和參數

%3F

%

指定特殊字符

%25

#

表示書簽

%23

&

URL 中指定的參數間的分隔符

%26

=

URL 中指定參數的值

%3D

HTML中的轉義字符

轉義字符串(Escape Sequence)也稱字符實體(Character Entity)。在HTML中,“<”和“>”符號用來表示HTML標簽,不能當作普通的符號來使用。如果要在HTML文檔中使用這些特殊符號原有的意義,就需要定義對應的轉義字符串。當瀏覽器遇到這類轉義字符時就會解釋為真實的字符而不是特殊用途。另外有些字符在ASCII字符集中沒有文字代號,只能用轉義字符串來表示,如回車換行符,退格鍵等。

字符

十進制

轉義字符

"

&#34;

&quot;

&

&#38;

&amp;

&#60;

&lt;

&#62;

&gt;

不斷開空格(non-breaking space)

&#160;

&nbsp;

JavaScript中的轉義

JavaScript 中有些字符有特殊用途,如果字符串中想使用這些字符原來的含義,需要使用反斜杠對這些特殊符號進行轉義。

正則中也有需要轉義的字符:* . ? + $ ^ [ ] ( ) { } | \ /,也是通過\反斜杠進行轉義。但是中括號里并不是元字符,不需要轉義。

在js中字符串形式的正則表達式匹配一個反斜杠要用四個反斜杠'\\\\', 第一個斜杠是js字符串的轉義符,第二個斜杠是斜杠本身,第三個斜杠是js字符串的轉義符,第四個斜杠是斜杠本身。將第二、四個反斜杠轉為正則中的斜杠后,前面一個為正則中的轉義符,將后者變為普通符號。字符串形式的正則表達式里的斜杠也是特殊符號,若要當普通符號使用,也需要轉義,用“\\”標示。因為js中反斜扛為特殊符號(轉義字符),js字符串里面表示斜杠需要一次轉義:“\\”。

在比如:字面量形式/\{.*\}/---->字符串形式'\\{.*\\}'。因為{號為正則中的特殊符號,需要加\轉義,而字符串中的\又是js中的特殊符號,需要再加一個\進行轉義。

注意正則的字面量形式只需要對正則中的特殊符號轉義,不需要對js的特殊符號轉義。

代碼

輸出的普通字符

\'

單引號

\"

雙引號

\&

和號

\\

反斜杠

\n

換行符

\r

回車符

\t

制表符

\b

退格符

\f

換頁符

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

1.encodeURI()把字符串作為 URI整體進行編碼,所以URI組件中的特殊分隔符號(;/:@&=+$?#),encodeURI() 函數不會進行轉義。該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( )

  encodeURI("http://www.w3school.com.cn")

  輸出http://www.w3school.com.cn

2.encodeURIComponent()把字符串作為 URI 組件的一部分(如path/query/fragment等)進行編碼,所以用于分隔 URI 各個部分的特殊分隔符號(;/?:@&=+$,#)也會被轉義。返回值中某些字符將被十六進制的轉義序列替換。該方法也不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( )

  encodeURIComponent("http://www.w3school.com.cn")

  輸出http%3A%2F%2Fwww.w3school.com.cn

3.decodeURI()/decodeURIComponent()解碼URI中被轉義的字符

  decodeURIComponent(%E4%BD%A0%E5%A5%BDjavascript);

  輸出你好javascript

4.escape()用于對字符串進行編碼,并返回編碼字符串。但目前已不推薦使用該函數對URI進行編碼。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽阳市| 平邑县| 玛曲县| 宝坻区| 当涂县| 庆云县| 铜川市| 雷山县| 万山特区| 云梦县| 文成县| 阿拉善左旗| 福州市| 凌海市| 乳源| 茌平县| 绥德县| 定远县| 常宁市| 乡城县| 河西区| 秭归县| 延庆县| 吴桥县| 太仆寺旗| 苏尼特右旗| 西峡县| 雷山县| 织金县| 长顺县| 治县。| 阳泉市| 武胜县| 广元市| 东宁县| 昌图县| 弥渡县| 南昌县| 边坝县| 黑河市| 大冶市|