当前位置:首页 > 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实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js进度条实现

js进度条实现

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

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…

js实现乘法

js实现乘法

实现乘法运算的方法 在JavaScript中实现乘法运算可以通过多种方式完成,以下列举几种常见方法: 基础运算符 直接使用乘法运算符*是最简单的方式: let result = 3 * 5; //…