当前位置:首页 > jquery

jquery 转义

2026-03-02 20:40:52jquery

jQuery 转义方法

在 jQuery 中,转义通常用于处理特殊字符,防止 XSS(跨站脚本攻击)或确保字符串在 HTML、URL 或正则表达式中正确显示。以下是几种常见的转义场景及方法:

HTML 转义

将特殊字符转换为 HTML 实体,防止脚本注入或显示问题。

function escapeHtml(text) {
  return $('<div>').text(text).html();
}

// 示例
var unsafeString = '<script>alert("XSS")</script>';
var escapedString = escapeHtml(unsafeString); // 输出: &lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;

URL 转义

使用 encodeURIComponent 对 URL 参数进行编码,避免非法字符破坏 URL 结构。

var urlParam = 'name=John Doe&age=30';
var escapedParam = encodeURIComponent(urlParam); // 输出: name%3DJohn%20Doe%26age%3D30

正则表达式转义

对字符串中的正则元字符进行转义,确保字符串在正则中作为字面量使用。

function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}

// 示例
var regexString = 'file.*.txt';
var escapedRegex = escapeRegExp(regexString); // 输出: file\.\*\.txt

反转义 HTML

将 HTML 实体转换回原始字符。

jquery 转义

function unescapeHtml(text) {
  return $('<div>').html(text).text();
}

// 示例
var escapedText = '&lt;div&gt;Hello&lt;/div&gt;';
var originalText = unescapeHtml(escapedText); // 输出: <div>Hello</div>

注意事项

  • 直接使用 jQuery 的 .text() 方法插入内容时,会自动转义 HTML 字符,避免 XSS。
  • 避免使用 .html() 直接插入未转义的用户输入内容。
  • 对于复杂场景(如富文本),需结合白名单过滤库(如 DOMPurify)。

标签: jquery
分享给朋友:

相关文章

jquery库

jquery库

jQuery 库简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。其核心特点是“Write Less, Do More”,…

jquery版本

jquery版本

jQuery 的版本历史及当前状态如下: 当前稳定版本 jQuery 的最新稳定版本是 3.6.4(发布于 2023 年 3 月),支持现代浏览器并修复了部分安全问题。 主要版本分支…

jquery 对话框

jquery 对话框

jQuery 对话框的实现方法 jQuery 对话框通常通过 jQuery UI 库中的 dialog() 方法实现。以下是几种常见的实现方式: 基本对话框实现 引入必要的 jQuery 和 jQ…

jquery函数

jquery函数

jQuery 函数概述 jQuery 是一个快速、简洁的 JavaScript 库,通过封装原生 JavaScript 功能,简化 DOM 操作、事件处理、动画和 AJAX 等任务。其核心函数 $()…

jquery 验证

jquery 验证

jQuery 表单验证方法 jQuery 表单验证可以通过多种方式实现,常见的有原生 jQuery 代码验证和使用 jQuery 验证插件(如 jQuery Validation Plugin)。…

jquery遍历

jquery遍历

jQuery遍历方法 jQuery提供了多种遍历DOM元素的方法,可以根据需求选择合适的方式操作元素集合。 each()方法 each()方法用于遍历jQuery对象中的每个元素,并对每个元素执行回…