当前位置:首页 > 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实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现路由

js实现路由

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

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…