前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS转换HTML转义符,防止javascript注入攻击,亲测可用「建议收藏」

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

作者头像
全栈程序员站长
发布2022-09-09 14:59:04
1.7K0
发布2022-09-09 14:59:04
举报
文章被收录于专栏:全栈程序员必看

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

//去掉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.cn/160684.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档