javascript中encodeURI和decodeURI方法使用介绍

JavaScript 中 encodeURI 和 decodeURI 方法使用介绍

在 JavaScript 中,encodeURIdecodeURI 方法可以用于编码和解码 URI,以便在 URL 中传输特殊字符或非 ASCII 字符。本文将详细介绍这两种方法的使用。

encodeURI 方法

encodeURI 可以将 URL 中除了 字母、数字、(、)、*、-、.、_、~ 以外的所有字符进行编码。

语法:

encodeURI(URI)

其中,URI 表示需要编码的文本。

示例1:

const url = 'https://www.example.com/search?keyword=你好'
const encodedUrl = encodeURI(url)
console.log(encodedUrl)
// 输出 "https://www.example.com/search?keyword=%E4%BD%A0%E5%A5%BD"

上面的示例将 https://www.example.com/search?keyword=你好 进行了编码,将其中的中文字符修改为 %E4%BD%A0%E5%A5%BD。这样,在 URL 中就可以传输中文字符了。

示例2:

const str = 'programming + is & fun'
const encodedStr = encodeURI(str)
console.log(encodedStr)
// 输出 "programming%20%2B%20is%20%26%20fun"

此示例中的字符串包含了 +& 字符,通过 encodeURI 方法进行编码后分别被转换为 %20%2B%20%20%26%20

需要注意的是,encodeURI 方法并不会将字符 # 编码为 %23,因为 # 在 URL 中有特殊的作用,表示锚点。如果需要对 # 进行编码,可以使用 encodeURIComponent 方法。

decodeURI 方法

encodeURI 方法相对的是 decodeURI 方法,可以将被编码的 URI 进行解码。

语法:

decodeURI(encodedURI)

其中,encodedURI 表示需要解码的 URI。

示例:

const encodedUrl = 'https://www.example.com/search?keyword=%E4%BD%A0%E5%A5%BD'
const decodedUrl = decodeURI(encodedUrl)
console.log(decodedUrl)
// 输出 "https://www.example.com/search?keyword=你好"

此示例将示例1中的编码后 URL 用 decodeURI 进行解码,转换为原本的中文字符。

需要注意的是,在某些情况下,被编码的 URI 可能存在不严格符合 URI 规范的字符(例如空格会被替换为 %20),在这些情况下,使用 decodeURI 方法可能会抛出错误,应当使用 decodeURIComponent 方法进行解码。

总结

encodeURIdecodeURI 是 JavaScript 中用于 URI 编码和解码的方法,可以将特殊字符或非 ASCII 字符转换为 URL 可以识别的形式。这两种方法可用于构建 URL,发送网络请求等日常开发场景中。同时,encodeURI 方法不会对 # 进行编码,需要进行编码的情况下应当使用 encodeURIComponent 方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript中encodeURI和decodeURI方法使用介绍 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 和我一起学 Three.js【初级篇】:1. 搭建 3D 场景

    ? 本篇文章共 5572 字,最近更新于 2023 年 04 月 19 日。 0. 系列文章合集 本系列第 6,7,8 章节支持在我的个人公众号「前端乱步」内付费观看,将在全平台文章「点赞数」+「评论数」 >= 500(第 6 章), 1000(第 7,8 章) 时分别解锁发布。 《和我一起学 Three.js【初级篇】:0. 总论》 ? 您当前在这里…

    JavaScript 2023年4月20日
    00
  • 在javascript将NodeList作为Array数组处理的方法

    将NodeList作为Array数组处理的方法是在javascript中非常有用的技巧之一。在许多情况下,获得的是NodeList类型的HTML元素集合,我们可能需要对集合进行操作,比如对集合进行排序,筛选等。然而,NodeList不是真正的数组类型,它缺少数组类型的操作和方法。幸运的是,我们可以使用一些技巧将NodeList转换为以进行操作的数组。 在ja…

    JavaScript 2023年5月27日
    00
  • js转义字符介绍

    JS转义字符介绍 在编写JavaScript代码时,有时需要在字符串中使用一些特殊字符,如单引号、双引号、反斜杠等。这些特殊字符如果不进行转义,会导致代码执行出错或产生意外的结果。JS提供了一些转义字符,可以帮助我们正确地表示和使用这些特殊字符。 转义字符列表 下面是JS中常用的转义字符列表: 转义字符 描述 \\ 反斜杠符号 \’ 单引号符号 \” 双引号…

    JavaScript 2023年5月19日
    00
  • JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码

    获取本月第几周、本月共几周、本月有多少天 首先,我们可以使用Date对象来获取当天的日期。通过获取当前日期的月份和年份,可以计算出本月有多少天。同时,我们可以使用getDay()方法来获取当前日期是星期几,然后在计算出本月的第几周以及本月共几周。 下面是获取本月第几周、本月共几周和本月有多少天的示例代码: // 获取当前日期 const date = new…

    JavaScript 2023年6月10日
    00
  • js函数中onmousedown和onclick的区别和联系探讨

    我们就按照以下步骤来讲解 js 函数中 onmousedown 和 onclick 的区别和联系。 1. onmousedown 和 onclick 的作用 在开始讲解 onmousedown 和 onclick 的区别之前,我们先来了解一下它们的作用。 onmousedown:当鼠标按下某个元素时触发。 onclick:当鼠标点击某个元素时触发。 这两个事…

    JavaScript 2023年5月28日
    00
  • javascript对象3个属性特征

    JavaScript中的对象是一种复合数据类型,它由属性构成。在JavaScript中,对象具有以下三个属性特征: 可枚举性(Enumerable) 可枚举性决定了对象的属性能否被 for…in 语句枚举。可枚举性的值可以是 true 或 false,默认值为 true。 示例1: const obj = {a: 1, b: 2}; Object.def…

    JavaScript 2023年5月27日
    00
  • JavaScript内置日期、时间格式化时间实例代码

    让我来为您详细讲解一下 “JavaScript内置日期、时间格式化时间实例代码” 的完整攻略。 什么是日期、时间格式化? 格式化是指将一个变量的值以一定的格式输出。在 JavaScript 中,我们可以使用内置的 Date() 对象和相关方法进行日期、时间格式化。 如何使用内置日期、时间格式化实例代码? 获取当前时间 获取当前时间的方式有两种,分别是使用 n…

    JavaScript 2023年5月27日
    00
  • DOM节点的替换或修改函数replaceChild()用法实例

    DOM(Document Object Model)是指文档对象模型,它是浏览器中的一种编程接口,允许开发者通过JavaScript来操作HTML文档的每个元素。在DOM中,节点是文档的基础单位。其中replaceChild()函数就是DOM节点的替换或修改函数,我们来详细讲解一下它的用法实例。 什么是replaceChild()函数? replaceChi…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部