问题库 JavaScript / TypeScript how-to

JavaScript 如何转义 HTML

快速答案

把 &, <, >, 引号转换为实体,避免用户输入直接进 innerHTML。

js
const escapeHtml = (s) => s.replace(/[&<>"']/g, ch => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }[ch]));

使用要点

  • 把用户输入用于选择器、正则或 HTML 前要先转义。
  • DOM 示例默认在浏览器中执行,放进框架组件时要等元素渲染完成。

相关内容