📜  encodeuricomponent js - Javascript (1)

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

JavaScript - encodeURIComponent()

encodeURIComponent() 是 JavaScript 中的一个全局函数,用于将特殊字符转换为它们的编码形式,以便在 URL 或 URI 中使用。该函数主要用于对 URL 参数进行编码,确保它们不包含任何可能导致 URL 解析错误的字符。

语法
encodeURIComponent(str)
  • str: 必需,要进行编码的字符串。
返回值

encodeURIComponent() 函数返回一个编码后的字符串。

例子
const url = "https://example.com?query=" + encodeURIComponent("Hello World!");

console.log(url);
// 输出结果: "https://example.com?query=Hello%20World%21"

在上面的例子中,encodeURIComponent() 函数将字符串 "Hello World!" 编码为 "Hello%20World%21",其中空格被转换为 "%20",感叹号 "!" 被转换为 "%21"。这样可以确保最终生成的 URL 是有效的。

编码规则

encodeURIComponent() 函数使用以下编码规则:

  • 字母、数字和下划线(A-Z, a-z, 0-9, _)保持不变。
  • 特殊字符(如 !, *, ', (, ) 等)被转义为 %xy 的形式,其中 xy 是两位十六进制数。
  • 空格被转义为 %20
  • 更多的字符编码规则可以参考 MDN 文档
注意事项
  • encodeURIComponent() 函数编码所有的特殊字符,包括 URL 中允许的特殊字符。如果只需要编码 URL 中不允许的字符,可以使用 encodeURI() 函数。
  • 由于 encodeURIComponent() 函数会对所有特殊字符进行编码,包括用于分隔查询参数和路径的字符(如 "?" 和 "/"),因此在某些情况下可能不适用。在这些情况下,最好将 URL 的不同部分分别进行编码。

以上是对 encodeURIComponent() 函数的介绍,希望能对你理解和使用 JavaScript 中的 URL 编码有所帮助。