迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

JavaScript 中 URL 解码

作者:迹忆客 最近更新:2023/06/05 浏览次数:

本文着眼于 URL 解码以及如何使用 JavaScript 对编码的 URL 进行解码。


需要URL编解码

URL 应具有某些字符。 URL 可以包含 US-ASCII 字符,例如从 0 到 9 的数字和 a-z 中的字符,以及一些特殊字符。

但是,某些 URL 可以包含 US-ASCII 中没有的字符或特殊字符。 那就是我们需要URL编码的时候。

URL 编码使我们能够拥有正确格式的 URL,换句话说,可接受的形式,即使它具有 US-ASCII 表之外的特殊字符。

请参考以下示例。

http://example.us/url encoding

在上面的 URL 中,URL 和编码之间存在间隙/空格,这对于 URL 格式来说是不可接受的。 在对 URL 进行编码时,空隙会被一些特殊字符所取代,URL 就会变成正确的格式。

我们可以使用 URL 解码来解码编码的 URL。 这个过程是 URL 编码的逆过程。

当我们解码 URL 时,我们可以以更易读的方式获得 URL。


JavaScript 中的 URL 解码

在 JavaScript 中,可以通过三种方法对编码的 URL 进行解码。

  1. unescape() 方法
  2. decodeURI() 方法
  3. decodeURIComponent() 方法

使用 unescaped() 方法解码编码的 URL

此方法在 JavaScript 中已弃用,这意味着该函数未在 JavaScript 中使用。 我们可以使用其他两个选项来解码编码的 URL,而不是使用此函数。

使用 decodeURI() 方法解码编码的 URL

在 JavaScript 中,我们有 encodeURI() 方法来编码 URL 和 decodeURI() 来解码编码的 URL。 encodeURI() 方法对 URL 地址进行编码,不包含地址的域相关部分(HTTPS、域名等)。

decodeURI()encodeURI() 的逆向方法,对编码后的带有正则字符的URL进行解码。 下面是 decodeURI()encodeURI() 方法的语法。

语法:

// Syntax for encoding
encodeURI(content to encode)

// Syntax for decoding
decodeURI(content to decode)

要查看解码过程,我们需要有一个编码的 URL。 让我们来看一个示例 URL。

http://example.us /url encoding

作为第一步,我们应该将 URL 作为下面的字符串分配给变量。

let exURL = " http://example.us /url encoding";

然后我们使用 encodeURI() 方法对其进行编码,并使用 console.log() 方法进行打印。

let encodedURL = encodeURI(exURL);
console.log(encodedURL);

在上面的语句中,我们将 encodeURI() 方法分配给了一个名为 encodedURL 的变量。 换句话说,我们可以直接使用 console.log() 函数中的 encodeURI() 函数,如下所示。

console.log(encodeURI(exURL));

两种方式都给我们相同的结果,所以让我们继续第一个路径。 现在我们完整的 JavaScript 代码应该是这样的。

完整代码:

let exURL = "http://example.us /url encoding";
let encodedURL = encodeURI(exURL);
console.log(encodedURL);

输出:

使用 encodeURI() 方法

现在让我们使用 decodeURI() 方法对其进行解码。 首先,我们可以将 decodeURI() 过程分配给另一个变量,如下所示。

let decodedURL = decodeURI(encodedURL);
console.log(decodedURL);

输出:

使用 decodeURI() 方法

如您所见,我们将从上述过程中获取解码后的 URL。

使用 decodeURIComponent() 方法解码编码的 URL

decodeURIComponent() 方法是 encodeURIComponent() 方法的反向方法。 encodeURIComponent() 方法使用其中与域相关的部分对 URL 地址进行编码。

此外,它还对一组特殊字符进行编码,而 encodeURI() 方法不会这样做。 这是唯一字符列表。

独特角色列表

decodeURIComponent() 方法使用相关字符和符号对编码的 URL 进行解码。

句法:

// Syntax for encoding
encodeURIComponent(content to encode)

// Syntax for decoding
decodeURIComponent(content to decode)

让我们举一个例子 URL。

https://stackoverflow.com/url+encoded string+in javascript

在上面的示例中,URL 中有空格、/、: 和 + 标记。 让我们使用 encodeURIComponent() 方法对 URL 进行编码。

let exURL = "https://stackoverflow.com/url+encoded string+in javascript";
let encoded = encodeURIComponent(exURL);
console.log(encoded);

输出:

使用 encodeURICompoenent() 方法

现在让我们尝试使用 decodeURIComponent() 方法对其进行解码,如下所示。

let decoded = decodeURIComponent(encoded);
console.log(decoded);

如上所述,我们已将 decodeURIComponent() 方法分配给一个变量。 使用 console.log() 方法打印它。

输出:

使用 decodeURIComponent() 方法

如您所见,我们编码的 URL 已作为解码 URL 给出。

完整代码:

let exURL = "https://stackoverflow.com/url+encoded string+in javascript";

let encoded = encodeURIComponent(exURL);
console.log(encoded);

let decoded = decodeURIComponent(encoded);
console.log(decoded);

总结

这篇文章简单介绍了 JavaScript,并讲授了 URL 编码和解码是什么。 然后我们主要讨论了两个方法:decodeURI()decodeURIComponent() ,并给出了一些例子。

两种方法都以两种方式工作,根据需要使用合适的方法。 unescape() 方法最近已被弃用,取而代之的是,我们可以使用其他两种方法作为解决方案。

上一篇:如何在 JavaScript 中生成 PDF

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 JavaScript 中生成 PDF

发布时间:2023/06/06 浏览次数:145 分类:JavaScript

在本文中,我们将学习用 JavaScript 创建 PDF 的有效方法。 在示例的帮助下,我们将了解 JavaScript 中有哪些可用的库来创建 PDF。

在 JavaScript 中使用种子生成随机数

发布时间:2023/06/06 浏览次数:182 分类:JavaScript

本文介绍如何使用种子在 JavaScript 中生成随机数。 我们实现这一点要归功于 PRNG,它接受一个种子并返回一个基于该种子的随机数。

JavaScript += 的效果

发布时间:2023/06/06 浏览次数:152 分类:JavaScript

本篇文章将介绍 JavaScript += 在以下情况下的效果。JavaScript 加上数字之间的相等 ;JavaScript 加上字符串之间相等 ;JavaScript 在数字和字符串之间加上相等

JavaScript 电话号码格式

发布时间:2023/06/06 浏览次数:181 分类:JavaScript

在本文中,我们将了解在 JavaScript 源代码中格式化电话号码的最佳方式,以及在我们的 JavaScript 代码中格式化数字的好处。JavaScript 中的电话号码格式 在 JavaScript 中,我们有多个选项可以有效地

JavaScript 中的图像加载事件

发布时间:2023/06/05 浏览次数:154 分类:JavaScript

本文将讨论如何在 JavaScript 中处理 .onload 事件。 我们将学习如何在上传图像后使用 JavaScript 创建警告框。我们还将了解如何通过创建警告框使用 JavaScript 检查图像是否已加载。JavaScript 中的 .

JavaScript 删除所有事件监听器

发布时间:2023/06/05 浏览次数:84 分类:JavaScript

本篇文章将介绍如何删除 JavaScript 中的所有事件侦听器。移除 JavaScript 中的所有事件监听器 EventTarget 接口的 addEventListener() 方法配置一个函数,只要指定的事件被传递到目标,就会调用该函数。

JavaScript 触发事件

发布时间:2023/06/05 浏览次数:171 分类:JavaScript

JavaScript 触发事件 在 JavaScript 中,原始方法 initEvent() 用于创建新事件。 最新更新添加了用于构建自定义事件的新关键字。 此外,在为 JavaScript 构建的清单中还有大量事件。

在 JavaScript 中交换数组元素

发布时间:2023/06/05 浏览次数:52 分类:JavaScript

在这里,我们将看到所有可使交换任务更加灵活的优选示例。 让我们进入代码库!在 JavaScript 中使用临时变量交换数组元素 在下面的示例中,我们将采用两个具有相应元素的数组。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便