当前位置:首页 > JavaScript

js实现urlencode

2026-04-05 19:49:01JavaScript

URL编码的实现方法

在JavaScript中,URL编码可以通过内置的encodeURIComponent()encodeURI()函数实现。这两种方法有不同的使用场景和编码范围。

encodeURIComponent()方法

encodeURIComponent()会对所有非标准字符进行编码,包括保留字符(如?&=等)。适用于编码URI的组件部分(如查询参数)。

const originalString = "hello world?param=value";
const encodedString = encodeURIComponent(originalString);
// 输出: "hello%20world%3Fparam%3Dvalue"

encodeURI()方法

encodeURI()不会编码保留字符和特殊字符,适用于编码整个URI。主要用于编码完整的URL而非其中部分。

const url = "https://example.com/hello world?param=value";
const encodedUrl = encodeURI(url);
// 输出: "https://example.com/hello%20world?param=value"

手动实现URL编码

如果需要更细粒度的控制或特殊需求,可以手动实现URL编码函数:

function customUrlEncode(str) {
    return str.replace(/[^\w\-_.~]/g, function(c) {
        return '%' + c.charCodeAt(0).toString(16).toUpperCase();
    });
}

解码URL编码

对应的解码函数有decodeURIComponent()decodeURI()

const encoded = "hello%20world%3Fparam%3Dvalue";
const decoded = decodeURIComponent(encoded);
// 输出: "hello world?param=value"

注意事项

encodeURIComponent()encodeURI()编码范围更广,适用于参数值编码。encodeURI()会保留URL结构字符,适用于完整URL编码。

js实现urlencode

对于特殊字符集或特定需求,可能需要结合使用这两种方法或实现自定义编码逻辑。

标签: jsurlencode
分享给朋友:

相关文章

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现tab选项卡切换

js实现tab选项卡切换

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

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js手势实现

js手势实现

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