📜  js 解析 url 编码 - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:03.635000             🧑  作者: Mango

JS 解析 URL 编码 - Javascript

在 Web 开发中,我们常常需要从 URL 中获取参数,这时候就需要使用 URL 编码。而在 Javascript 语言中,提供了一些内置函数来进行 URL 编码和解码。

URL 编码 (encodeURIComponent)

在 Javascript 中,使用 encodeURIComponent 函数来对 URL 进行编码。该函数的作用是将 URL 中的特殊字符转换为可以被服务器接受的字符。以下是一个例子:

const url = "https://www.example.com/page.html?name=张三&age=20";
const encodedUrl = encodeURIComponent(url);
console.log(encodedUrl);
// 输出:https%3A%2F%2Fwww.example.com%2Fpage.html%3Fname%3D%E5%BC%A0%E4%B8%89%26age%3D20

在上面的例子中,encodeURIComponent 函数将整个 URL 进行编码,其中特殊字符 ?=& 被转换为 %3F%3D%26,中文字符也被进行了编码。

需要注意的是,encodeURIComponent 函数不会对 ASCII 码字母和数字进行编码。如果需要将它们进行编码,可以使用 encodeURI 函数。

URL 解码 (decodeURIComponent)

URL 编码之后,需要进行解码才能获取原始的字符。在 Javascript 中,使用 decodeURIComponent 函数来对 URL 进行解码。以下是一个例子:

const encodedUrl = "https%3A%2F%2Fwww.example.com%2Fpage.html%3Fname%3D%E5%BC%A0%E4%B8%89%26age%3D20";
const decodedUrl = decodeURIComponent(encodedUrl);
console.log(decodedUrl);
// 输出:https://www.example.com/page.html?name=张三&age=20

在上面的例子中,decodeURIComponent 函数将 URL 进行解码,还原了 URL 中的特殊字符和中文字符。

总结

在 Javascript 中,通过 encodeURIComponentdecodeURIComponent 函数,可以对 URL 进行编码和解码。在实际开发中,我们需要经常使用它们来处理 URL,特别是在获取 URL 中的参数时。