当前位置:首页 > JavaScript

js实现urlencode

2026-02-01 03:25:38JavaScript

URL编码简介

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

使用encodeURIComponent

encodeURIComponent()是标准方法,会对除字母、数字和-_.!~*'()外的所有字符进行编码:

js实现urlencode

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

使用encodeURI

encodeURI()用于编码完整URL,不会编码保留字符(如:/?#[]@):

js实现urlencode

const encoded = encodeURI('https://example.com/测试');
// 输出 "https://example.com/%E6%B5%8B%E8%AF%95"

手动实现编码

需要自定义编码规则时可用此方法:

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

解码方法

使用decodeURIComponent()还原编码后的字符串:

const decoded = decodeURIComponent('%E6%B5%8B%E8%AF%95');
// 输出 "测试"

注意事项

  • 编码查询参数时优先使用encodeURIComponent
  • 处理完整URL时注意区分encodeURIencodeURIComponent的使用场景
  • 空格会被编码为%20(而非+

标签: jsurlencode
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现dh

js实现dh

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

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…