JavaScript 扩展 String 对象实现 HTML 编码与解码

作者:窗边听雨时间:2026-10-24 04:11:01浏览:251

本文介绍如何通过扩展 JavaScript 的 String 原型,利用 DOM 元素的 innerHTML、textContent 和 innerText 属性,实现字符串的 HTML 编码与解码功能。该方法通过动态创建 div 元素,利用浏览器内置的解析机制完成特殊字符的转义与还原,适用于需要处理用户输入或防止 XSS 攻击的场景。

JavaScript 扩展 String 对象实现 HTML 编码与解码

具体实现代码如下所示:

String.prototype.HTMLEncode = function() {
var temp = document.createElement("div");
(temp.textContent != null) ? (temp.textContent = this) : (temp.innerText = this);
var output = temp.innerHTML;
temp = null;
return output;
} 
String.prototype.HTMLDecode = function() {
var temp = document.createElement("div");
temp.innerHTML = this;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
} 
作者最新文章