URL轉義是將URL中的特殊字符轉換為可被URL識別的編碼格式的過程。常用的URL轉義方法有兩種:encodeURIComponent()和encodeURI()。
encodeURIComponent()方法用于對URL中的參數值進行編碼,將URL中的特殊字符轉化為%xx的形式。其中,%xx表示該字符的ASCII碼值的十六進制表示。
使用方法如下:
var str = "hello, world!";
var encodedStr = encodeURIComponent(str);
console.log(encodedStr); // 輸出:hello%2C%20world%21
encodeURI()方法用于對整個URL進行編碼,將URL中的特殊字符轉化為%xx的形式。但是,對于某些特殊字符(如“/”、“:”、“?”等),不會進行編碼,因為它們在URL中具有特殊的含義。
使用方法如下:
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轉義方法時,應該根據具體情況選擇使用encodeURIComponent()或encodeURI()方法。如果需要對URL中的參數值進行編碼,應該使用encodeURIComponent()方法;如果需要對整個URL進行編碼,應該使用encodeURI()方法。