HTML 的实体编码(HTML Entity Encode)

JavaScript018

HTML 的实体编码(HTML Entity Encode),第1张

以上列出的一些实体比较容易记忆,但有一些不容易记住的您可以查看 whatwg 或使用 解码工具 。

HTML 实体是一段以连字符号( &)开头、以分号( )结尾的字符串。用以显示不可见字符及保留字符(如 HTML 标签)

在前端,一般为了避免 XSS 攻击,会将 <> 编码为 < 与 >,这些就是 HTML 实体编码。

在 HTML 转义时,仅仅只需要对六个字符进行编码: &、 <、 >、 " 、 ' 和 `。我们可以使用 he 库进行编码及转义。

您好,您这样:

<html>

<head>

<title>字符转HTML实体编码</title>

<script>

function $(id) {return document.getElementById(id)}

function htmlEncode(input)

{

var code = input.charCodeAt()// 获得实体编码

var div = $("divCode")

/*

* 实体编码的格式是:数字

* &是 &

* # 是 #

* code 用户输入的字的实体编码

* 是

*

* 如果直接写成 "" + code + ""的形式会被浏览器直接解析为对应的字符,从而失去了编码的作用。

*/

div.innerHTML = "&" + "&#35" + code + "&#59"//String.fromCharCode(code)解码

}

</script>

</head>

<body>

<input type="text" onchange="htmlEncode(this.value)"/>

<div id="divCode"></div>

</body>

</html>

使用 String.fromCharCode(code)便可以将实体编码转换回字符。