当前位置:首页 > JavaScript

js 实现unescape

2026-01-31 13:29:35JavaScript

实现 unescape 的方法

在 JavaScript 中,unescape 是一个用于解码通过 escape 编码的字符串的全局函数。由于现代 JavaScript 已弃用 unescape,可以使用以下替代方法实现类似功能。

js 实现unescape

使用 decodeURIComponent

decodeURIComponent 可以解码由 encodeURIComponent 编码的字符串,适用于大部分 URL 编码场景。

js 实现unescape

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

使用正则表达式替换

对于简单的 unescape 场景,可以通过正则表达式手动替换编码字符。

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

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

处理特殊字符

如果需要处理更多特殊字符(如 Unicode 编码),可以扩展正则表达式。

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

const encodedStr = "Hello\\u0020World\\u0021";
const decodedStr = unescapeUnicode(encodedStr);
console.log(decodedStr); // 输出: "Hello World!"

注意事项

  • decodeURIComponent 无法解码某些特殊字符(如 %xx 格式的非 URL 编码字符),需结合正则处理。
  • 如果字符串包含混合编码(如 URL 编码和 Unicode 编码),需分步处理。
  • 始终验证输入字符串的格式,避免解码失败。

标签: jsunescape
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现图片上传

js实现图片上传

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

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…