JS转换HTML转义符,防止javascript注入攻击,亲测可用

时间:2022-03-14 03:54:15

 

function  removeHtmlTab(tab) {
  return  tab.replace(/<[^<>]+?>/g, '' ); //删除所有HTML标签
}

 

function  html2Escape(sHtml) {
  return  sHtml.replace(/[<>& "]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','" ': '&quot;' }[c];});
}

 

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]})
}

 

 
function  return2Br(str) {
  return  str.replace(/\r?\n/g, "<br />" );
}

 

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;

 

function  mergeSpace(str) {
  str=str.replace(/(\s|&nbsp;)+/g, ' ' );
  return  str;
}