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;
}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 自体脂肪填充的风险_numpy 插值

    自体脂肪填充的风险_numpy 插值一、接口pad(array,pad_width,mode,**kwargs)其中,第一个参数是输入数组;第二个参数是需要pad的值,参数输入方式为:((before_1,after_1),…(before_N,after_N)),其中(before_1,after_1)表示第1轴两边缘分别填充before_1个和after_1个数值;第三个参数是pad模式‘constant’——表示连续填充相同的值,每个轴可以分别指定填充值,constant_values=(x,y

  • [开发者笔记]Odin

    [开发者笔记]Odinhttps://github.com/chkinglee/odin#2020-05-311、elasticsearch搭建与启动2、springboot集成elasticsearchNote:在这里没有参照网上的方法添加elasticsearch的依赖,而是利用httpclientUtil写了一个EsUtil,对elasticsearch的读写实际是发起的http请求\3、代码思路1)需要能够解析配置文件中的自定义配置参数2)HttpClientUtil、EsUtil,可找…

  • verilog代码转化电路图_门电路实现补码运算

    verilog代码转化电路图_门电路实现补码运算comp_conv.v://2022-1-19verilog学习//补码转换逻辑`timescale1ns/10ps;modulecomp_conv( a, a_comp );input[7:0] a;output[7:0] a_comp;//中间变量wire[6:0] b;//负数按位取反的幅度位(1位符号位+7位幅度位)wire[7:0] y;//负数的补码assign ..

  • [转][Web测试]- Fiddler 教程

    [转][Web测试]- Fiddler 教程

  • 实型变量_C语言实型常数的合法形式

    实型变量_C语言实型常数的合法形式实型变量分为两类:单精度型和双精度型,其类型说明符为float单精度说明符,double双精度说明符。在TurboC中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。实型变量说明的格式和书写规则与整型相同。例如:f

    2022年10月21日
  • 最详细AMD Ryzen CPU,VMware 15安装macOS 10.15.x Catalina 记录(第一篇)[通俗易懂]

    最详细AMD Ryzen CPU,VMware 15安装macOS 10.15.x Catalina 记录(第一篇)[通俗易懂]如何在非macOS电脑上体验macOS,目前我所知道的有两种方式:真机安装(难度大,本文介绍,感兴趣的童鞋可以自行搜索);虚拟机安装。不管是真机安装还是虚拟机安装,Intel的cpu在安装过程中遇到的坑相比AMD的cpu要少很多。所以本文不介绍如何在Intelcpu的pc上安装macOS,网上教程很多,读者可自行搜索。很多AMDcpu的朋友,在用虚拟机安装macOS的过程中,肯定遇到过一些问题,并且有些问题很棘手,会被困扰几天,那么本文将介绍如何在AMDcpu的电脑上安装mac

发表回复

您的电子邮箱地址不会被公开。

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