当前位置:首页 > JavaScript

js urldecode 实现

2026-02-01 13:01:26JavaScript

URL 解码实现方法

在 JavaScript 中,URL 解码可以通过内置的 decodeURIComponent() 函数实现。该函数用于解码由 encodeURIComponent() 编码的 URI 组件。

基本用法:

const encodedStr = 'Hello%20World%21';
const decodedStr = decodeURIComponent(encodedStr);
console.log(decodedStr); // 输出: "Hello World!"

处理异常情况

decodeURIComponent() 在遇到无效编码时会抛出错误。为避免程序中断,可以结合 try-catch 处理异常:

function safeDecodeURIComponent(str) {
    try {
        return decodeURIComponent(str);
    } catch (e) {
        console.warn('解码失败:', e.message);
        return str; // 返回原字符串或自定义处理
    }
}

替代方案

如果需兼容特殊字符(如 % 未跟随十六进制数),可使用以下方法:

js urldecode 实现

function customDecodeURI(str) {
    return str.replace(/%([0-9A-F]{2})/gi, (match, p1) => {
        return String.fromCharCode(parseInt(p1, 16));
    });
}

注意事项

  • decodeURI()decodeURIComponent() 区别:前者不解码 #, &, = 等保留字符,后者会解码所有编码字符。
  • 编码字符串通常来自 URL 的查询参数(location.search),需先提取再解码:
const params = new URLSearchParams('?q=JavaScript%20%26%20HTML');
console.log(params.get('q')); // 自动解码输出: "JavaScript & HTML"

标签: jsurldecode
分享给朋友:

相关文章

js实现全选

js实现全选

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

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现菜单

js实现菜单

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

js图片上传实现

js图片上传实现

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

js实现刷新页面

js实现刷新页面

刷新页面的方法 在JavaScript中,可以通过多种方式实现页面刷新。以下是几种常见的方法: 使用 location.reload() 调用 location.reload() 方法可以重新加载当…