JS转换HTML转义符,防止javascript注入攻击,亲测可用「建议收藏」

JS转换HTML转义符,防止javascript注入攻击,亲测可用「建议收藏」//去掉html标签123function removeHtmlTab(tab){ return tab.replace(/]+?>/g,”);//删除所有HTML标签}//普通字符转换成转意符123fu

大家好,又见面了,我是你们的朋友全栈君。

//去掉html标签

1
2
3
function 
removeHtmlTab(tab) {
 
return 
tab.replace(/<[^<>]+?>/g,
''
);
//删除所有HTML标签
}

//普通字符转换成转意符

1
2
3
function 
html2Escape(sHtml) {
 
return 
sHtml.replace(/[<>&
"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"
':
'&quot;'
}[c];});
}

//转意符换成普通字符

1
2
3
4
function 
escape2Html(str) {
 
var 
arrEntities={

'lt'
:
'<'
,
'gt'
:
'>'
,
'nbsp'
:
' '
,
'amp'
:
'&'
,
'quot'
:
'"'
};
 
return 
str.replace(/&(lt|gt|nbsp|amp|quot);/ig,
function
(all,t){

return 
arrEntities[t];});
}

// &nbsp;转成空格

1
2
3
4
function 
nbsp2Space(str) {
 
var 
arrEntities = {

'nbsp' 
:
' '
};
 
return 
str.replace(/&(nbsp);/ig,
function
(all, t){

return 
arrEntities[t]})
}

//回车转为br标签

1
2
3
function 
return2Br(str) {
 
return 
str.replace(/\r?\n/g,
"<br />"
);
}

//去除开头结尾换行,并将连续3次以上换行转换成2次换行

1
2
3
4
5
6
function 
trimBr(str) {
 
str=str.replace(/((\s|&nbsp;)*\r?\n){

3
,}/g,
"\r\n\r\n"
);
//限制最多2次换行
 
str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,
''
);
//清除开头换行
 
str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,
''
);
//清除结尾换行
 
return 
str;
}

// 将多个连续空格合并成一个空格

1
2
3
4
function 
mergeSpace(str) {
 
str=str.replace(/(\s|&nbsp;)+/g,
' '
);
 
return 
str;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160684.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 刷完 900 多道算法题的首次总结:LeetCode 应该怎么刷?「建议收藏」

    刷完 900 多道算法题的首次总结:LeetCode 应该怎么刷?「建议收藏」LeetCode算法题应该怎么刷?算法题学习路线?怎么组队刷题?有没有算法刷题群?你是怎么入门LeetCode的?刷完1000道算法题是什么体验?大家都是怎么刷题的?新手小白开始刷算法题应该怎么刷,注意什么?刷LeetCode总是觉得太难怎么办?刷算法题有没有书籍推荐?该按照什么顺序刷算法题?LeetCode怎么看别人的题解?有哪些好的算法题博主推荐?

    2022年6月17日
    20
  • C# 哈希_java哈希码

    C# 哈希_java哈希码文件哈希码比较,用于更新文件publicstaticboolCompareFile(stringstr1,stringstr2)    {      stringp_1=str1;      stringp_2=str2;      //计算第一个文件的哈希值      varha

    2022年10月30日
    0
  • JavaScript RegExp对象

    JavaScript RegExp对象

    2021年12月14日
    39
  • maria和mysql_mysql为什么没有淘汰

    maria和mysql_mysql为什么没有淘汰mysql:driver驱动类为:com.mysql.jdbc.Driverurl为:jdbc:mysql://localhost:3306/testmariadbdriver驱动类为:org.mariadb.jdbc.Driverurl为:jdbc:mariadb://localhost:3306/test

    2022年10月28日
    0
  • python中的set(),zip()以及map()函数

    python中的set(),zip()以及map()函数set、zip和map函数均为python的内置函数。(1)set()用法:set(interable)用来创建一个无序不重复元素的集合。可以对其进行集合的一系列操作,例如求差集、并集和补集,利

    2022年7月5日
    17
  • jnpf开发文档_java开发最新技术

    jnpf开发文档_java开发最新技术JNPF快速开发平台JNPF快速开发平台采用前后端分离技术、采用B/S架构开发,形成一站式开发多端(APP+PC)使用。使用JNPF开发平台可以简单、快速、高效的构建各种类型java项目。JAVA版介绍JNPF.java版采用前后端分离,可将代码直接导入idea运行,也可将前后端代码利用ngnix分开部署。JNPF主体架构、技术采用前后端分离技术,主体架构为B/S,PC端和APP混合开发。前后端分离特点JNPF快速开发平台平台采用全新的前后端分离架构模式。前…

    2022年8月23日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号