好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

js对html反转义怎么用 js解析html转义字符

很多站长朋友们都不太清楚js对html反转义怎么用,今天小编就来给大家整理js对html反转义怎么用,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 Js中如何进行HTMLEncode? 2、 html转义/反转义 3、 JS实现HTML标签转义及反转义 4、 javascript怎么反转义字符串 5、 js如何转义和反转义html特殊字符 6、 js转换html的格式 Js中如何进行HTMLEncode?

HTML的Encode(转码)和解码(Decode)在平时的开发中也是经常要处理的,以下总结了使用javascript处理HTML的Encode(转码)和解码(Decode)的常用方式

一、用浏览器内部转换器实现转换

1.1.用浏览器内部转换器实现html转码

首先动态创建一个容器标签元素,如DIV,然后将要转换的字符串设置为这个元素的innerText(ie支持)或者textContent(火狐,google支持),最后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串了。

1.2.用浏览器内部转换器实现html解码

首先动态创建一个容器标签元素,如DIV,然后将要转换的字符串设置为这个元素的innerHTML(ie,火狐,google都支持),最后返回这个元素的innerText(ie支持)或者textContent(火狐,google支持),即得到经过HTML解码的字符串了。

var HtmlUtil = {

/*1.用正则表达式实现html转码*/

htmlEncodeByRegExp:function (str){

var s = "";

if(str.length == 0) return "";

s = str.replace(//g,"");

s = s.replace(/</g,"<");

s = s.replace(/>/g,">");

s = s.replace(/ /g," ");

s = s.replace(/\'/g,"'");

s = s.replace(/\"/g,""");

return s;

},

/*2.用正则表达式实现html解码*/

htmlDecodeByRegExp:function (str){

var s = "";

if(str.length == 0) return "";

s = str.replace(//g,"");

s = s.replace(/</g,"<");

s = s.replace(/>/g,">");

s = s.replace(/ /g," ");

s = s.replace(/'/g,"\'");

s = s.replace(/"/g,"\"");

return s;

}

};

html转义/反转义

// 字符串反转义

function enXssHtml(text) {

const matchList = {

"<": "<",

">": ">",

"": "",

"": '""',

""": '"',

"'": "'",

};

let regStr = "(" + Object.keys(matchList).toString() + ")";

// ↑ ------------【 提取匹配列表key值 】.【组数转字符串】

regStr = regStr.replace(/,/g, ")|(");

// ↑ 通过匹配将其更新为正则的字符串类型

const regExp = new RegExp(regStr, "g");

// ↑ ------- 字符串 转 正则 方法

return text.replace(regExp, (match) => matchList[match]);

// ↑ ------ 替换方法 (正则, 当前key => 返回当前被匹配的key值)

}

// 字符串反转义

function deXssHtml(text) {

const matchList = {

"<": "<",

">": ">",

"": "",

'"': '"',

'"': '"',

"'": "'",

};

let regStr = "(" + Object.keys(matchList).toString() + ")";

// ↑ ------------【 提取匹配列表key值 】.【组数转字符串】

regStr = regStr.replace(/,/g, ")|(");

// ↑ 通过匹配将其更新为正则的字符串类型

const regExp = new RegExp(regStr, "g");

// ↑ ------- 字符串 转 正则 方法

return text.replace(regExp, (match) => matchList[match]);

// ↑ ------ 替换方法 (正则, 当前key => 返回当前被匹配的key值)

}

JS实现HTML标签转义及反转义

简单说一下业务场景,前台用户通过input输入内容,在离开焦点时,将内容在div中显示。

这时遇到一个问题,如果用户输入了html标签,则在div显示中,标签被解析。

由于是纯前端操作,不涉及后端,因此需要通过js对输入内容进行转义。

这里提供一个非常简单有效的转义方案,利用了innerHTML和innerText

注:火狐不支持innerText,需要使用

textContent

属性,而IE早期版本不支持此属性,为了同时兼容IE及火狐,需要进行判断操作.

因为innerText(textContent)会获取纯文本内容,忽略html节点标签,而innerHTML会显示标签内容,

所以我们先将需转义的内容赋值给innerText(textContent),再获取它的innerHTML属性,这时获取到的就是转义后文本内容。

代码如下:

function

HTMLEncode(html)

{

var

temp

=

document.createElement("div");

(temp.textContent

!=

null)

?

(temp.textContent

=

html)

:

(temp.innerText

=

html);

var

output

=

temp.innerHTML;

temp

=

null;

return

output;

}

var

tagText

=

"<p><b>123456</b></p>";

console.log(HTMLEncode(tagText));//<p><b>123456</b></p>

通过测试结果,可以看到html标签及符都被转义后保存。

同理,反转义的方法为先将转义文本赋值给innerHTML,然后通过innerText(textContent)获取转义前的文本内容

function

HTMLDecode(text)

{

var

temp

=

document.createElement("div");

temp.innerHTML

=

text;

var

output

=

temp.innerText

||

temp.textContent;

temp

=

null;

return

output;

}

var

tagText

=

"<p><b>123456</b></p>";

var

encodeText

=

HTMLEncode(tagText);

console.log(encodeText);//<p><b>123456</b></p>

console.log(HTMLDecode(encodeText));

//<p><b>123456</b></p>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

javascript怎么反转义字符串

转移字符就是在特定的字符前加一个反斜杠 例如 :\n 是换行的意思。 如果你不想让\n有转义符的作用, 就直接在前面多加一个‘\’,这样 \\n 就没有转移符的作用了, 会显示为文本 \n 。

希望对你有帮助, 谢谢

js如何转义和反转义html特殊字符

js中的特殊字符,加上转义符\ 。

例如:

var txt="We are the so-called "Vikings" from the north." document.write(txt) 【错误】

var txt="We are the so-called \"Vikings\" from the north." document.write(txt) 【正确】

js转换html的格式

方法如下:

1、在百度搜索 JS/HTML转换,会有很多在线转换网站;

2、随意找一个进去,默认进入是js转Html的状态;

3、将Js源代码粘贴到相应的空白栏处,当即转换完成。

关于js对html反转义怎么用的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于js对html反转义怎么用 js解析html转义字符的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did122978
更新时间:2022-11-21   阅读:73次

上一篇: html对话框叉号怎么关闭 html弹出对话框代码

下一篇:html怎么把框变大 html怎么让文本框变大

相关资讯

最新资料更新

  • 1.dedecms实现有短标题时显示短标题、无短标题时显示长标题的方法
  • 2.Dede后台验证码不显示解决方法详解(dedecms 5.7)
  • 3.dede中统计栏目文章数的两种方法
  • 4.织梦DEDECMS TAG标签按照设定的栏目id获取相应的内容
  • 5.Dedecms无法保存远程图片到本地服务器的解决方法
  • 6.dedecms织梦手机模板使用和制作方法
  • 7.dedecms列表推荐文章默认为加粗的修改方法
  • 8.dedecms调用当前栏目的子栏目的两种方法分享
  • 9.开启DedeCMS软件源码及分类信息采集功能的方法
  • 10.织梦dedecms在模板页面中实现会员登录退出状态显示的方法
  • 11.dedecms重新定义cn_substr函数截取字数更准确
  • 12.Dedecms实现列表缩图添加alt锚文本信息的解决方法
  • 13.dedecms 栏目目录用首字母生成的方法
  • 14.dede:tag 文章页调用全站最新tag方法
  • 15.dede会员列表调用适用于企业、个人
  • 16.DEDE登陆后台很慢的原因分析与解决方法
  • 17.详解织梦模板DEDE首页列表页AJAX无限加载瀑布流修正版
  • 18.织梦dede模板内怎么加入php代码的方法示例
  • 19.Dedecms待审核文章在列表页显示的方法
  • 20.dedecms网页压缩seo之gzip设置技巧

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]