任何網站的 URL 都需要對 URI 和 URI 組件進行編碼和解碼,以到達或重定向用戶。這是 Web 開發中的一項常見任務,通常是在使用查詢參數向 API 發出 GET 請求時完成的。查詢參數還必須編碼在 URL 字符串中,服務器將對其進行解碼。許多瀏覽器會自動對 URL 和響應字符串進行編碼和解碼。
例如,空格“ ”被編碼為 + 或 %20。
對 URL 進行編碼
可以使用 JavaScript 中的以下方法來完成特殊字符的轉換 –
encodeURI() 函數 – encodeURI() 函數用于對完整的 URI 進行編碼,即將 URI 中的特殊字符轉換為瀏覽器可理解的語言。一些未編碼的字符是:(, / ? : @ & = + $ #)。
encodeURIComponent() 函數 – 這函數對整個 URL 而不僅僅是 URI 進行編碼。該組件還對域名進行編碼。
語法
encodeURI(complete_uri_string ) encodeURIComponent(complete_url_string )
登錄后復制
參數
-
complete_url_string string – 它保存要編碼的完整 URL 字符串。
上述函數返回編碼后的 URL。
示例 1
在下面的示例中,我們使用encodeURI() 和encodeURIComponent() 方法對URL 進行編碼。
# index.html
<!DOCTYPE html> <html lang="en"> <head> <title>Encoding URI</title> </head> <body> <h1 style="color: green;"> Welcome To Tutorials Point </h1> <script> const url="https://www.tutorialspoint.com/search?q=java articles"; document.write('<h4>URL: </h4>' + url) const encodedURI=encodeURI(url); document.write('<h4>Encoded URL: </h4>' + encodedURI) const encodedURLComponent=encodeURIComponent(url); document.write('<h4>Encoded URL Component: </h4>' + encodedURLComponent) </script> </body> </html>
登錄后復制
輸出
解碼 URL
URL 的解碼可以使用以下方法完成 –
decodeURI() function -decodeURI() 函數用于解碼 URI,即將特殊字符轉換回原始 URI 語言。
decodeURIComponent( ) 函數 – 此函數將完整的 URL 解碼回其原始形式。 decodeURI 僅解碼 URI 部分,而此方法解碼 URL,包括域名。
語法
decodeURI(encoded_URI ) decodeURIComponent(encoded_URL
登錄后復制
參數
encoded_URI URI – 它接受由encodeURI()函數創建的編碼URL的輸入。
encoded_URL URL – 它接受由encodeURIComponent()函數創建的編碼URL的輸入。
這些函數將返回編碼 URL 的解碼格式。
示例 2
在下面的示例中,我們使用decodeURI()和decodeURIComponent()方法將編碼 URL 解碼為它的編碼 URL。原始形式。
#index.html
<!DOCTYPE html> <html lang="en"> <head> <title>Encode & Decode URL</title> </head> <body> <h1 style="color: green;"> Welcome To Tutorials Point </h1> <script> const url="https://www.tutorialspoint.com/search?q=java articles"; const encodedURI = encodeURI(url); document.write('<h4>Encoded URL: </h4>' + encodedURI) const encodedURLComponent = encodeURIComponent(url); document.write('<h4>Encoded URL Component: </h4>' + encodedURLComponent) const decodedURI=decodeURI(encodedURI); document.write('<h4>Decoded URL: </h4>' + decodedURI) const decodedURLComponent = decodeURIComponent(encodedURLComponent); document.write('<h4>Decoded URL Component: </h4>' + decodedURLComponent) </script> </body> </html>
登錄后復制
輸出
以上就是如何在 JavaScript 中對 URL 進行編碼和解碼?的詳細內容,更多請關注www.92cms.cn其它相關文章!
complete_uri_string string – 它保存要編碼的URL。