博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS 转义&反转义 HTML标签、特殊字符
阅读量:6546 次
发布时间:2019-06-24

本文共 737 字,大约阅读时间需要 2 分钟。

简单好用才是硬道理啊!

业务需要,网上捞了很多过滤HTML标签和特殊字符的贴子,各有千秋吧!

最后自己整理了一个优雅版。

  • 思路:正则匹配并用 replace 函数替换。
  • 优化:划分结构,让资源可配置。
// 抽离成可配置的匹配列表const matchList  = {  '<': '<',  '>': '>',  '&': '&',  '"': '"',  '"': '"',  ''': "'",}// 字符过滤器const HtmlFilter = (text) => {  let regStr = '(' + Object.keys(matchList).toString() + ')'  // ↑ ------------【*提取匹配列表key值*】.【组数转字符串】        regStr = regStr.replace(/,/g, ')|(')  // ↑ 通过匹配将其更新为正则的字符串类型  const regExp = new RegExp(regStr, 'g')  // ↑ ------- 字符串 转 正则 方法  return text.replace(regExp, match => matchList[match])  // ↑ ------ 替换方法 (正则, 当前key => 返回当前被匹配的key值)}export default HtmlFilter复制代码

测试:&lt;Hello&gt; &#34;World&#34;

结果:<Hello> "World"

结语

这么认真的注释给个赞再走呗!

哦~哈哈哈~

转载于:https://juejin.im/post/5ac21b9d51882555712c870d

你可能感兴趣的文章
Linux 脚本之用户创建
查看>>
Mysql字段类型设计相关问题!
查看>>
Xshell 密钥登陆
查看>>
所见不为真--图片格式文件检测python
查看>>
分享几种常用的嵌入式Linux GUI及其特点—干货
查看>>
Confluence 6 "Duplicate Key" 相关问题解决
查看>>
第18章 使用MariaDB数据库管理系统
查看>>
浅谈MySQL的B树索引与索引优化
查看>>
【喜报】HCIE--PASS !最可怕的敌人,就是没有坚强的信念!
查看>>
想学前端,为什么不看这些书呢?
查看>>
记一次mapreduce读取不到输入文件的问题
查看>>
我的友情链接
查看>>
MariaDB集群Galera Cluster的研究与测试
查看>>
SONY控制键盘JX-11,EVI-D70P控制方案
查看>>
Spring AOP 之二:Pointcut注解表达式
查看>>
在普通台式机上搭建服务器虚拟化架构Esxi平台
查看>>
电话线路 30B+D 名词解释
查看>>
python字典嵌套字典实例
查看>>
吉炬消费系统软件输入密码后无法打开软件界面故障处理
查看>>
Hibernate学习系列————注解一对多双向实例
查看>>