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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 新手指引

    新手指引

    2021年5月1日
    150
  • 用NAnt 将StarTeam中的文件CheckOut回本地计算机

    用NAnt 将StarTeam中的文件CheckOut回本地计算机

    2021年7月21日
    62
  • verilog调用vhdl模块_verilog和vhdl哪个更好

    verilog调用vhdl模块_verilog和vhdl哪个更好初学FPGA,记录一些个人的探索历程和心得。本文的初衷是为了验证VHDL和Verilog文件互相调用功能。以一个简单的二选一选择器为例,分别用两种方法实现功能。一、用Verilog文件调用VHDL以Verilog文件为顶层文件,调用VHDL模块,testbench为Verilog文件。1、新建project2、编写.vhd文件,FPGA_VHDL.vhd,文件名与模块名称一致;3、编写FPGA_Verilog.v文件,文件名与模块名称一致,且设为top文件。4、编写testbench文件

    2022年9月21日
    4
  • HelloWorld的Java代码[通俗易懂]

    HelloWorld的Java代码[通俗易懂]HelloWorld的Java代码//类名publicclassHelloWorld{//主函数,主方法,程序的入口publicstaticvoidmain(String[]args){//输出语句System.out.println(“HelloWorld!”);}}欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎…

    2022年5月28日
    56
  • matlab 求矩阵秩,用MATLAB编程求矩阵的秩

    matlab 求矩阵秩,用MATLAB编程求矩阵的秩fori=n:-1:1我明白了,就是极大无关组,我的这个程序把所有的基都写出来了,你只要选一个就可以,还对两种矩形的矩阵(例如2×3,3×2都测试了);如果谁会优化这个程序的会更好!代码如下:ji.m%A=[17241815%23571416%46132022%812264044]A=[1,0,1,2;2,0,2,4;1,-1,1,1…

    2022年5月7日
    71
  • LoadRunner11的安装与激活成功教程「建议收藏」

    LoadRunner11的安装与激活成功教程「建议收藏」现在很多人都在用LoadRunner11,下面我就来说说自己下载和安装LR11的过程。一、安装1.先来下载LR11.建议大家都在正规网站下载,推荐一个网站http://bbs.51testing.com/thread-423695-1-1.html,直接将此网站复制到迅雷下载http://www.genilogix.com/downloads/loadrunner/loadrunner-11

    2022年7月22日
    13

发表回复

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

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