当前位置: 首页 > news >正文

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

 

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;
}

转载于:https://www.cnblogs.com/sxz2008/p/6518367.html

相关文章:

  • SQL SERVER的排名函数
  • live555 解析
  • ORA-07445错误修正
  • ajax3
  • 英文名
  • 在 Android 中进程的级别有哪些?
  • UNION ALL导致的ORA-07445错误
  • 计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解
  • 纠结+纠结
  • HTTP 返回状态代码详细解释
  • gcrawler:一个基于gevent的简单爬虫框架
  • Struts2+MySQL登录注册
  • Sql 连接串
  • java类与对象,用程序解释
  • 代码生成器修改备注
  • 【剑指offer】让抽象问题具体化
  • ES学习笔记(12)--Symbol
  • JAVA之继承和多态
  • Protobuf3语言指南
  • 动态魔术使用DBMS_SQL
  • 理解在java “”i=i++;”所发生的事情
  • 数据结构java版之冒泡排序及优化
  • 算法-图和图算法
  • 一份游戏开发学习路线
  • 阿里云ACE认证之理解CDN技术
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​决定德拉瓦州地区版图的关键历史事件
  • # 数据结构
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (六)Hibernate的二级缓存
  • (强烈推荐)移动端音视频从零到上手(上)
  • .NET Core跨平台微服务学习资源
  • .net操作Excel出错解决
  • .NET单元测试
  • .NET命令行(CLI)常用命令
  • .net实现客户区延伸至至非客户区
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • /var/lib/dpkg/lock 锁定问题
  • @在php中起什么作用?
  • [2016.7.Test1] T1 三进制异或
  • [Android] Implementation vs API dependency
  • [Android]竖直滑动选择器WheelView的实现
  • [EULAR文摘] 利用蛋白组学技术开发一项蛋白评分用于预测TNFi疗效
  • [fsevents@^2.1.2] optional install error: Package require os(darwin) not compatible with your platfo
  • [hive]中的字段的数据类型有哪些
  • [IE9] IE9 beta版下载链接
  • [iOS]iOS获取设备信息经常用法
  • [Java安全入门]三.CC1链
  • [LeetCode] Wildcard Matching
  • [LeetCode][LCR190]加密运算——全加器的实现
  • [LeetCode][面试算法]逻辑闭环的二分查找代码思路
  • [NAND Flash 6.1] 怎么看时序图 | 从时序理解嵌入式 NAND Read 源码实现
  • [nlp] id2str的vocab.json转换为str2id
  • [Oh My C++ Diary]函数重载