首页 > 其他分享 >JS转义html编码

JS转义html编码

时间:2024-05-06 10:22:07浏览次数:22  
标签:return temp JS 转义 html var replace

两个方法:

1、利用用浏览器内部转换器实现html转义;

2、用正则表达式实现html转义;

 

var HtmlUtil = {
        /*1.用浏览器内部转换器实现html编码(转义)*/
        htmlEncode:function (html){
            //1.首先动态创建一个容器标签元素,如DIV
            var temp = document.createElement ("div");
            //2.然后将要转换的字符串设置为这个元素的innerText或者textContent
            (temp.textContent != undefined ) ? (temp.textContent = html) : (temp.innerText = html);
            //3.最后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串了
            var output = temp.innerHTML;
            temp = null;
            return output;
        },
        /*2.用浏览器内部转换器实现html解码(反转义)*/
        htmlDecode:function (text){
            //1.首先动态创建一个容器标签元素,如DIV
            var temp = document.createElement("div");
            //2.然后将要转换的字符串设置为这个元素的innerHTML(ie,火狐,google都支持)
            temp.innerHTML = text;
            //3.最后返回这个元素的innerText或者textContent,即得到经过HTML解码的字符串了。
            var output = temp.innerText || temp.textContent;
            temp = null;
            return output;
        },
        /*3.用正则表达式实现html编码(转义)*/
        htmlEncodeByRegExp:function (str){
             var temp = "";
             if(str.length == 0) return "";
             temp = str.replace(/&/g,"&");
             temp = temp.replace(/</g,"<");
             temp = temp.replace(/>/g,">");
             temp = temp.replace(/\s/g," ");
             temp = temp.replace(/\'/g,"'");
             temp = temp.replace(/\"/g,""");
             return temp;
        },
        /*4.用正则表达式实现html解码(反转义)*/
        htmlDecodeByRegExp:function (str){
             var temp = "";
             if(str.length == 0) return "";
             temp = str.replace(/&/g,"&");
             temp = temp.replace(/</g,"<");
             temp = temp.replace(/>/g,">");
             temp = temp.replace(/ /g," ");
             temp = temp.replace(/'/g,"\'");
             temp = temp.replace(/"/g,"\"");
             return temp;
        },
        /*5.用正则表达式实现html编码(转义)(另一种写法)*/
        html2Escape:function(sHtml) {
             return sHtml.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&','"':'"'}[c];});
        },
        /*6.用正则表达式实现html解码(反转义)(另一种写法)*/
        escape2Html:function (str) {
             var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
             return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
        }
    };

 来源:https://www.cnblogs.com/willingtolove/p/11059325.html

标签:return,temp,JS,转义,html,var,replace
From: https://www.cnblogs.com/prefertea/p/18174408

相关文章

  • JS实现获取当前URL和来源URL的方法
    通用模式:Javascript正常取来源网页的URL只要用:index.html:<!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1,maximum-scale=......
  • 使用 SSH 转义代码来控制连接
    OpenSSH最常被忽视的一个非常有用的功能是能够从连接内部控制会话的某些方面。通过使用SSH转义代码,我们能够在会话内部与本地SSH软件进行交互。强制从客户端断开连接(如何退出卡住或冻结的会话)这些命令可以在SSH会话中以~控制字符开头执行。只有在换行后第一次键入时才......
  • 为什么我不选择React、Vue.js作为SAAS网站的前端框架
    引言“道”在中国哲学中,是一个重要的概念,表示“终极真理”。“道”这一概念,不单为哲学流派诸子百家所重视,也被宗教流派道教等所使用。大道至简的意思就是大道理是极其简单的,简单到一两句话就能说明白。所谓“真传一句话,假传万卷书”。正文在开启独立创作之路时,我也考虑过各种......
  • html中a标签的下划线怎么去掉
    如何在HTML中去除超链接的下划线在HTML中,超链接(<a></a>标签)通常带有一个默认的下划线。要去除下划线,可以使用以下方法:使用CSS最常用的方法是使用CSS样式表。在部分添加以下CSS规则:<codeclass="<astyle='color:#f60;text-decoration:underline;'href="https:......
  • Python自动化测试中JSON数据处理遇到的错误
    在接口自动化测试领域,使用Excel管理测试数据是一种常见的做法。本文将分享一个实际案例,介绍在Python自动化测试框架中,如何从响应结果中提取所需数据,并探讨在处理JSON格式数据时遇到的一个典型问题及其解决方案。首先,让我们了解测试数据的基本格式。在Excel中,我们定义了一个名为ex......
  • 原生JS表格数据常用总结
    主要是在数据报表这块,做了好几年发现,其实用户最终想要看的并不是酷炫的BI大屏,而是最基础也是最复杂的中国式报表.更多就是倾向于从表格中去获取数据信息,最简单的就是最好的,于是还是来总结一下表格这块的东西.基础表格先来实现一个最基础的表格,用table标签,......
  • CSS & JS Effect – 用 wheel 模拟 scroll
    前言在用JavaScript实现positionsticky 文章中,我提到了用wheel来模拟scroll效果。这篇来说说具体怎么实现,挺简单的哦。 Preparationtable.html<divclass="container"><table><thead><tr><th>FirstName</th>&l......
  • RestClient C# 举例 是用jsonbody ,并列出httpclient 等价的方式
    以下是使用RestSharp发送POST请求并附带JSON请求体的示例,以及相应的使用HttpClient的等价方式:首先,使用RestSharp:usingSystem;usingRestSharp;usingNewtonsoft.Json;classProgram{staticvoidMain(string[]args){//创建RestClient实......
  • HTML页面关于高分屏的设置
    记录一个HTML页面关于高分屏的踩到的坑。所谓高分屏,就是在同样大小的屏幕面积上显示更多的像素点,这样可以呈现更好的可视效果的屏幕。例如,我的笔记本是15.6寸,理论上它的屏幕分辨率应该是1920x1080像素,但实际上我的笔记本屏幕分辨率确实2560x1440像素,也就是俗称的2K屏。这样的......
  • https://geek-docs.com/python/python-ask-answer/74_hk_1707485473.html
    Python中的b是什么介绍 在Python中,我们经常会看到一种奇特的表示方法,即以字符’b’开头的字符串,例如b'Hello'。这种表示方法在Python中被称为字节字符串(bytestring),简称为b字符串。在本文中,我们将详细介绍b字符串的特点、用途和常见应用场景。b字符串的特点字节字符串以字......