当前位置:首页 > JavaScript

js实现urlencode

2026-03-14 01:40:05JavaScript

URL编码简介

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

使用encodeURIComponent

最常用的方法是使用encodeURIComponent()函数,它会对所有非字母数字字符进行编码(包括! ' ( )等):

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

使用encodeURI

当需要编码完整URL时(保留协议、域名等部分),使用encodeURI()。它不会编码:/?#[]@等URL保留字符:

const url = 'https://example.com/测试?name=张三';
console.log(encodeURI(url)); // 输出 "https://example.com/%E6%B5%8B%E8%AF%95?name=%E5%BC%A0%E4%B8%89"

手动实现编码

如需自定义编码规则,可通过以下函数实现:

js实现urlencode

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

注意事项

  • encodeURIComponent会编码更多字符(包括? & =等),适合编码URL参数值
  • 空格在URL编码中可以是%20+,需根据服务器要求处理
  • 现代浏览器已自动处理URL编码,手动编码主要用于特殊场景或Node.js环境

标签: jsurlencode
分享给朋友:

相关文章

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…