当前位置:首页 > 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; // 返回原字符串或自定义处理
    }
}

替代方案

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

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"

js urldecode 实现

标签: jsurldecode
分享给朋友:

相关文章

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js实现复制

js实现复制

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

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

js实现全选

js实现全选

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

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统…