当前位置:首页 > JavaScript

js 实现urlencode

2026-02-01 18:08:50JavaScript

URL编码简介

URL编码(Percent-Encoding)是将特殊字符转换为%后跟两位十六进制数的格式。JavaScript提供原生方法实现这一功能。

使用encodeURIComponent

encodeURIComponent会对除字母、数字和-_.!~*'()之外的字符进行编码:

const encoded = encodeURIComponent('测试&data=123');
console.log(encoded); // 输出 "%E6%B5%8B%E8%AF%95%26data%3D123"

使用encodeURI

encodeURI用于编码完整URL,不编码常见URL符号(如:/?#[]@):

const url = 'https://example.com/测试?x=1';
console.log(encodeURI(url)); // 保持":/?="等符号不变

手动实现方法

需要更细粒度控制时可手动实现:

function customURLencode(str) {
  return str.split('').map(char => {
    const code = char.charCodeAt(0);
    return code > 128 ? '%' + code.toString(16).toUpperCase() : char;
  }).join('');
}

注意事项

  • 表单数据提交时应使用encodeURIComponent
  • 空格会被编码为%20(而非+
  • 现代浏览器已内置完整的编码实现,通常无需手动处理

解码方法

对应解码函数:

js 实现urlencode

decodeURIComponent('%E6%B5%8B%E8%AF%95'); // 返回"测试"

标签: jsurlencode
分享给朋友:

相关文章

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…