js html转义

//Html结构转字符串形式显示 支持<br>换行
function ToHtmlString(htmlStr) {
    return toTXT(htmlStr).replace(/\&lt\;br[\&ensp\;|\&emsp\;]*[\/]?\&gt\;|\r\n|\n/g, "<br/>");
}
//Html结构转字符串形式显示
function toTXT(str) {
    var RexStr = /\<|\>|\"|\‘|\&| | /g
    str = str.replace(RexStr,
    function (MatchStr) {
        switch (MatchStr) {
            case "<":
                return "&lt;";
                break;
            case ">":
                return "&gt;";
                break;
            case "\"":
                return "&quot;";
                break;
            case "‘":
                return "'";
                break;
            case "&":
                return "&amp;";
                break;
            case " ":
                return "&ensp;";
                break;
            case " ":
                return "&emsp;";
                break;
            default:
                break;
        }
    }
    )
    return str;
}
时间: 2024-10-07 19:06:13

js html转义的相关文章

js技巧--转义符&quot;\&quot;的妙用

js技巧--转义符"\"的妙用 // blueDestiny, never-online // blueDestiny [at] 126.com 通常,我们在动态给定一个container的innerHTML时,通常是样做的: <div id="divc" /> <SCRIPT LANGUAGE="JavaScript"> var div = document.getElementById("divc"

Js特殊字符转义之htmlEscape()方法

为了防止XSS攻击,常常需要将用户输入的特殊字符进行转义,原生js貌似还没有直接对其专业的方法,最近再读Js高级程序设计的时候刚好看到,碰巧项目中也刚好需要使用次方法,于是就之家搬来用了. 网上关于转义的方法很多,其实原理基本一样,再次就把树上的代码直接搬来分享给大家(待更新....) /*传入html字符串源码即可*/ function htmlEscape(text){   return text.replace(/[<>"&]/g, function(match, po

【转】Swig使用指南

如何使用 API swig.init({ allowErrors: false, autoescape: true, cache: true, encoding: 'utf8', filters: {}, root: '/', tags: {}, extensions: {}, tzOffset: 0 }); options: allowErrors: 默认值为 false.将所有模板解析和编译错误直接输出到模板.如果为 true,则将引发错误,抛出到 Node.js 进程中,可能会使您的应用程

无刷新的的文件上传

一. 通过iframe来实现无刷新的的文件上传,其实是有刷新的,只是在iframe里面隐藏了而已 简单的原理说明: <form id="form1" method="post" action="upload.do" enctype="multipart/form-data"  target="uploadframe" > <input type="file" id=&q

【lua】LWT HttpdModule

要使用httpd模块,需要在脚本开头添加: require "httpd" httpd.pairs(apr_table) 用以遍历apr_table for key, value in httpd.pairs(t) do body end 例: 1 require "httpd" 2 local table = { "uri", "protocol", "hostname", "path"

转---如何让前端更安全?——XSS攻击和防御详解

前言 平时很少关注安全这块的技术,曾经也买过一本<Web前端黑客技术揭秘>但至今还没翻过,尴尬.今天的早读文章由腾讯优测@小吉带来的分享. 正文从这开始~ 最近深入了解了一下XSS攻击.以前总浮浅的认为XSS防御仅仅只是输入过滤可能造成的XSS而已.然而这池子水深的很呐. XSS的类型 总体来说,XSS分三类,存储型XSS.反射型XSS.DOM-XSS. 存储型XSS 数据库中存有的存在XSS攻击的数据,返回给客户端.若数据未经过任何转义.被浏览器渲染.就可能导致XSS攻击: 反射型XSS 将

JQuery选择器中含有冒号的ID处理差异的分析

问题提出 对于一个输入框, 如果其id中含有冒号(:),选择器使用需要有特殊写法, 例如 id为下 <input type="text" value="ddd" id="a:b"> 使用$(selector)直接使用#id值, 找不到DOM console.log("#a:b")console.log($("#a:b").length) // output 0 经过探索可以使用以下两个方法选择到

外文翻译——正则表达式(7)——量词+, * 和?

量词+, * 和? 一些被广泛使用的缩写量词"+","*"和"?". 基本上,它们都是数量词的简写: "+" 表示“大于等于一个”,等同于"{1,}". 例如:"\d+"匹配一个任意长度的数字: 1 showMatch( "number 12345", /\d+/ ) // 12345 "?" 表示“零个或一个”,等同于"{0,1}&qu

在Hexo中渲染MathJax数学公式

最近学机器学习涉及很多的数学公式,公式如果用截图显示,会比较low而且不方便.因此需要对Hexo做些配置,支持公式渲染.同时文末整理了各种公式的书写心得,比如矩阵.大小括号.手动编号.上下角标和多行对其等,有兴趣的可以看看. 通过hexo-math插件安装MathJax 有个插件hexo-math,可以给Hexo博客添加MathJax公式支持,GitHub地址 https://github.com/hexojs/hexo-math 安装方法可其他hexo插件一样,在博客根目录执行npm inst