JavaScript URL編碼與解碼

一、URL編碼與解碼概述

在Web開發中,有時需要將字元串傳遞給URL。由於某些字元會在URL中具有特殊含義(例如?、&、=等),因此需要進行URL編碼以確保這些字元被正確地處理。同時也需要對傳入的URL進行解碼,以將之前被編碼的字元轉換回原始狀態。

二、JavaScript中的URL編碼

在JavaScript中,可以使用encodeURI()encodeURIComponent()函數對URL進行編碼。

1. encodeURI()

encodeURI()函數可對整個URI進行編碼,除了ASCII字母、數字、符號$-_.+!*'()外,其他的字元都將返回UTF-8編碼的字元。

var url = "https://www.example.com/?a=b#c";
var encoded = encodeURI(url);
console.log(encoded); // 輸出:https://www.example.com/?a=b#c

2. encodeURIComponent()

encodeURIComponent()函數可對URI中的每一段進行編碼,包括ASCII字母、數字以及一些特殊字元,例如:冒號、斜杠、問號、井號等。

var url = "https://www.example.com/?a=b#c";
var encoded = encodeURIComponent(url);
console.log(encoded); // 輸出:https%3A%2F%2Fwww.example.com%2F%3Fa%3Db%23c

三、JavaScript中的URL解碼

在JavaScript中,可以使用decodeURI()decodeURIComponent()函數對URL進行解碼。

1. decodeURI()

decodeURI()函數可對encodeURI()函數編碼的URI進行解碼。

var encoded = "https://www.example.com/?a=b#c";
var decoded = decodeURI(encoded);
console.log(decoded); // 輸出:https://www.example.com/?a=b#c

2. decodeURIComponent()

decodeURIComponent()函數可對encodeURIComponent()函數編碼的URI進行解碼。

var encoded = "https%3A%2F%2Fwww.example.com%2F%3Fa%3Db%23c";
var decoded = decodeURIComponent(encoded);
console.log(decoded); // 輸出:https://www.example.com/?a=b#c

四、代碼示例

下面是一個JavaScript中URL編碼和解碼的完整代碼示例:

var url = "https://www.example.com/?a=b#c"; // 要編碼的URL

// URL 編碼
var encodedURI = encodeURI(url);
var encodedURIComponent = encodeURIComponent(url);

console.log(encodedURI); // 輸出:https://www.example.com/?a=b#c
console.log(encodedURIComponent); // 輸出:https%3A%2F%2Fwww.example.com%2F%3Fa%3Db%23c

// URL 解碼
var decodedURI = decodeURI(encodedURI);
var decodedURIComponent = decodeURIComponent(encodedURIComponent);

console.log(decodedURI); // 輸出:https://www.example.com/?a=b#c
console.log(decodedURIComponent); // 輸出:https://www.example.com/?a=b#c

原創文章,作者:KVAAJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/369648.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KVAAJ的頭像KVAAJ
上一篇 2025-04-13 11:45
下一篇 2025-04-13 11:45

相關推薦

  • Python解碼URL

    本文將從以下幾個方面對Python解碼URL進行詳細闡述:URL編碼的作用和原理、Python urllib庫解碼URL的基本用法、Python手動解碼URL的方法、特殊字元在UR…

    編程 2025-04-28
  • Python URL解碼

    在Web開發過程中,URL編碼和解碼是一個很常見的問題。本文將會詳細介紹Python中對URL的解碼方法。 一、URL編碼與URL解碼 URI(Uniform Resource I…

    編程 2025-04-28
  • 使用JavaScript日期函數掌握時間

    在本文中,我們將深入探討JavaScript日期函數,並且從多個視角介紹其應用方法和重要性。 一、日期的基本表示與獲取 在JavaScript中,使用Date對象來表示日期和時間,…

    編程 2025-04-28
  • JavaScript中使用new Date轉換為YYYYMMDD格式

    在JavaScript中,我們通常會使用Date對象來表示日期和時間。當我們需要在網站上顯示日期時,很多情況下需要將Date對象轉換成YYYYMMDD格式的字元串。下面我們來詳細了…

    編程 2025-04-27
  • Python 中文轉URL編碼

    本文將從以下幾個方面詳細闡述Python中實現中文轉URL編碼的方法及注意事項。 一、URL編碼概述 URL編碼也稱為百分號編碼,是一種將URL中的非ASCII字元轉換成「%」後加…

    編程 2025-04-27
  • HTTPs請求URL里的參數會加密嗎?

    是的,HTTPS請求URL里的參數會加密。HTTPS是HTTP協議的加密版本,在傳輸數據時,使用了SSL/TLS協議對傳輸內容進行加密,保證數據在傳輸過程中不會被篡改、竊取。下面我…

    編程 2025-04-27
  • JavaScript中修改style屬性的方法和技巧

    一、基本概念和方法 style屬性是JavaScript中一個非常重要的屬性,它可以用來控制HTML元素的樣式,包括顏色、大小、字體等等。這裡介紹一些常用的方法: 1、通過Java…

    編程 2025-04-25
  • CloneDeep函數在Javascript開發中的應用

    一、CloneDeep的概念 CloneDeep函數在Javascript中是一種深層克隆對象的方法,可以在拷貝對象時避免出現引用關係。使用者可以在函數中設置可選參數使其滿足多種拷…

    編程 2025-04-25
  • JavaScript中的Object.getOwnPropertyDescriptors()

    一、簡介 Object.getOwnPropertyDescriptors()是JavaScript中一個非常有用的工具。簡單來說,這個方法可以獲取一個對象上所有自有屬性的屬性描述…

    編程 2025-04-25
  • JavaScript保留整數的完整指南

    JavaScript是一種通用腳本語言,非常適合Web應用程序開發。在處理數字時,JavaScript可以處理整數和浮點數。在本文中,我們將重點關注JavaScript如何保留整數…

    編程 2025-04-25

發表回復

登錄後才能評論