当前位置:首页 > 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.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js防抖和节流实现

js防抖和节流实现

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

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现tab选项卡切换

js实现tab选项卡切换

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

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…