URL轉(zhuǎn)義是將URL中的特殊字符轉(zhuǎn)換為可被URL識(shí)別的編碼格式的過(guò)程。常用的URL轉(zhuǎn)義方法有兩種:encodeURIComponent()和encodeURI()。
encodeURIComponent()方法用于對(duì)URL中的參數(shù)值進(jìn)行編碼,將URL中的特殊字符轉(zhuǎn)化為%xx的形式。其中,%xx表示該字符的ASCII碼值的十六進(jìn)制表示。
使用方法如下:
var str = "hello, world!";
var encodedStr = encodeURIComponent(str);
console.log(encodedStr); // 輸出:hello%2C%20world%21
encodeURI()方法用于對(duì)整個(gè)URL進(jìn)行編碼,將URL中的特殊字符轉(zhuǎn)化為%xx的形式。但是,對(duì)于某些特殊字符(如“/”、“:”、“?”等),不會(huì)進(jìn)行編碼,因?yàn)樗鼈冊(cè)赨RL中具有特殊的含義。
使用方法如下:
var url = "https://www.google.com/search?q=JavaScript&rlz=1C1GCEU_enUS832US832&oq=JavaScript&aqs=chrome.0.35i39l2j0l4j46j69i60.3581j1j7&sourceid=chrome&ie=UTF-8";
var encodedUrl = encodeURI(url);
console.log(encodedUrl); // 輸出:https://www.google.com/search?q=JavaScript&rlz=1C1GCEU_enUS832US832&oq=JavaScript&aqs=chrome.0.35i39l2j0l4j46j69i60.3581j1j7&sourceid=chrome&ie=UTF-8
注意:使用URL轉(zhuǎn)義方法時(shí),應(yīng)該根據(jù)具體情況選擇使用encodeURIComponent()或encodeURI()方法。如果需要對(duì)URL中的參數(shù)值進(jìn)行編碼,應(yīng)該使用encodeURIComponent()方法;如果需要對(duì)整個(gè)URL進(jìn)行編碼,應(yīng)該使用encodeURI()方法。