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


相关推荐

  • dmesg总结

    dmesg总结1.dmesg介绍在dmesg里我们可以查看到开机信息,printk产生的信息等。若研究内核代码,在代码中插入printk函数,然后通过dmesg观察是一个很好地方法。 2.dmesg输出含义dmesg输出的数字含义是什么,纠结了一会儿,下面给出解释终端输入dmesg,可以看到每行最开始显示的是一个综括号,里面的数字为timestamp,时间戳,该时间指示的系统从…

    2025年6月27日
    3
  • 设置CListCtrl单元格的颜色

    设置CListCtrl单元格的颜色pragmaonce//CListCtrlClclassCListCtrlCl:publicCListCtrl{DECLARE_DYNAMIC(CListCtrlCl)public:CListCtrlCl();virtual~CListCtrlCl();protected:DECLARE_MESSAGE_MAP()virtualvo

    2022年6月23日
    29
  • python怎么把字体调大_python修改字体

    python怎么把字体调大_python修改字体Pycharm4.5是一款非常强大的Python代码编辑器,其具备了易于上手、功能强大等特点,深受广大开发人员的青睐,而在使用的过程中,我们常常需要设置字体的大小以及背景颜色等参数,从而能够为用户带来更好的代码编辑效果,而部分刚入手的用户可能还不知到如何进行设置,小编这里为用户带来了Pycharm4.5设置字体大小与背景颜色的操作操作教程,有需要的用户赶紧来了解一下吧,想必能够为用户带来帮助!方法…

    2022年8月26日
    10
  • java无法获取服务器上路径,JAVA获取服务器路径的步骤

    java无法获取服务器上路径,JAVA获取服务器路径的步骤JAVA获取服务器路径的方法1、在JSF环境中获取到ServletContext:ServletContextsc=(ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext();2、servlet中获得项目绝对路径StringfilePath=this.getServletConfig…

    2022年7月11日
    25
  • 软件架构设计—软件架构概述[通俗易懂]

    软件架构设计—软件架构概述[通俗易懂]像学写文章一样,在学会字、词、句之后,就应上升到段落,就应追求文章的“布局谋篇”,这就是架构。通俗地讲,软件架构设计就是软件系统的“布局谋篇”。人们在软件工程实践中,逐步认识到了软件架构的重要性,从而开辟了一个崭新的研究领域。软件架构的研究内容主要涉及软件架构描述、软件架构设计、软件架构风格、软件架构评价和软件架构的形成方法等。软件设计人员学习软件架构知识旨在站在…

    2022年5月7日
    69
  • Python全栈工程师(每周总结:2)

    Python全栈工程师(每周总结:2)ParisGabrielParisGabriel感谢大家的支持每天坚持一天一篇点个订阅吧灰常感谢当个死粉也阔以weeksummer:Python人工智能从入门到精通字符串st

    2022年7月5日
    27

发表回复

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

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