zl程序教程

您现在的位置是:首页 >  前端

当前栏目

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

2023-06-13 09:12:22 时间

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

//去掉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