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


相关推荐

  • springboot~jpa个性化数据操作接口[通俗易懂]

    springboot~jpa个性化数据操作接口[通俗易懂]springboot~jpa个性化数据操作接口

    2022年4月20日
    48
  • 锁定计算机 最新的,锁定计算机的方法

    锁定计算机 最新的,锁定计算机的方法您可能感兴趣的话题:锁定计算机核心提示:我们在用电脑时,电脑开着有时候会短暂的离开下电脑,而电脑上有些东西不想让其他的看到或是操作。本教程为大家介绍一些锁定计算机的方法。我们在用电脑时,电脑开着有时候会短暂的离开下电脑,而电脑上有些东西不想让其他的看到或是操作。可以设置一下安全保护方法。暂时锁定计算机。1.Win+L键法在WindowsXP中在任何时候按下Win+L(L是LockStation之…

    2022年7月21日
    13
  • Linux Shell循环结构

    Linux Shell循环结构fi}&donewaitecho“MissionCompleted.”*for循环语句实现文件中批量用户创建“`shell[root@hdp-1shell]#catusers_from_file.shIFS=$’\n’forlinein`cat$1`doif[${#line}-eq0];thencontinuefiuser=`echo”$line”|awk'{print$1}’`pass=`echo”$line”|a

    2022年7月24日
    6
  • ProxyCFG on Win2003 和 NetSH on Win2008

    ProxyCFG on Win2003 和 NetSH on Win2008

    2021年8月6日
    56
  • 高德地图的标志放大_高德地图点标注的分布与缩放

    高德地图的标志放大_高德地图点标注的分布与缩放本文介绍了在ReactNative平板开发中使用高德地图组件的一个案例,重点介绍了如何计算并缩放到所需状态,以及地图Webview与ReactNative通信的方式。欢迎关注我的专栏:熵与单子的代码本。在数据可视化展示系统中,地理信息系统(GIS)组件已经几乎是必备的了。GIS组件通过地图的形式直观地展现数据项在地理上的分部,以地图上点标注(Marker)的颜色、大小…

    2022年5月22日
    101
  • idea2021.3.15激活 3月最新注册码

    idea2021.3.15激活 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    46

发表回复

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

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