js正则表达式过滤网页标签的内容实例代码

2022-10-14实例代码
212

需求是模板字符串中不允许出现<script> 标签、不允许有javascript: 和 .js 文件引用,主要方法如下:
clearScriptTag (str) {
      const reg = /<script[^>]*>([\S\s]*?)<\/script>/gim;
      // 清除标签内 相关 xss 安全代码
      const reg1 = /javascript:/gim;
      const reg2 = / *.js/gim;
      if (reg.test(str)) {
        str = str.replace(reg, '');
        this.$message.error('非法标签 <script> 已被替换为空');
      }
      if (reg1.test(str)) {
        str = str.replace(reg1, '');
        this.$message({
          message: '非法代码javascript:已被替换为空',
          type: 'error',
          offset: 60
        });
      }
      if (reg2.test(str)) {
        str = str.replace(reg2, '');
        this.$message({
          message: '非法*.js已被替换为空',
          type: 'error',
          offset: 100
        });
      }
      return str;
    },
测试:
// 输入字符串为:
let str = '<div>
<span>测试文字</span>
</div>
<script>asdfasdfs</script>
<script></script>
<a></a>
<script>asdfasdfs sdf234 asd fasdfs</script>
<script>asdfasdfs sdf234 asd fa
  sdfs</script>
<span src:"javascript:aaa//xx.js">测试文字</span>
<span src:"javascript:aaa//xaaax.js">测试文字</span>
<span src:"javascript:aaa//xx.js">javascript:aaa//xx.js</span>'
// 过滤后字符串为:
'<div>
	<span>测试文字</span>
</div>
<a></a>
<span src:"aaa//xx">测试文字</span>
<span src:"aaa//xaaax">测试文字</span>
<span src:"aaa//xx">aaa//xx</span>'
 
The End
正则表达式 过滤

相关推荐

PHP正则表达式匹配是否为IP地址段
我们要验证一段信息是否为ip地址段,用php代码怎么写呢?具体实例代码如下: /** * 匹配IP地址 * @param string $subject * @return bool */function checkVailIp(string $subject){ $pattern = "/(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\."; $pattern .="(...
2023-03-03 实例代码
240

php采集图片的一个实例代码
我们需要做采集,首先要了解正则表达式,在这里我们用到的是-phpQuery。phpQuery用来匹配html中的内容比正则简单太多了,只要会jquery,使用起来几乎无障碍。这里只是提供一个demo实例,可能随着原网址内容的调整无法采集到内容,具体大家可以尝试下。 ?phpre...
2022-12-14 实例代码
102

PHP中文关键词匹配实例代码
关键词匹配是比较常见的需求,如留言、弹幕及游戏聊天中的敏感词过滤,都需要对一段文字进行关键词匹配。提取到关键词后,再做进一步处理。 本类借助PHP高效的数组和mbstring扩展,来实现对中文关键词的匹配。主要思想是以关键词为key,构建字典数组,这样便...
2022-10-24 实例代码
124

js过滤所有特殊字符的实例代码
var pattern=/[`~!@#$^\-*()=|{}':;',\\\[\]\.\/?~!@#¥……*()——|{}【】';:""'。,、?\s]/g; //string = string.replace(pattern,""); var Str = '替换?字*符串/中的所\有特"殊:字符(包含空|格' var out = Str.replace(pattern,""); alert(out)...
2022-10-14 实例代码
157

js正则表达式过滤网页标签的内容实例代码
需求是模板字符串中不允许出现script 标签、不允许有javascript: 和 .js 文件引用,主要方法如下: clearScriptTag (str) { const reg = /script[^]*([\S\s]*?)\/script/gim; // 清除标签内 相关 xss 安全代码 const reg1 = /javascript:/gim; const reg2 = /...
2022-10-14 实例代码
212

js Replace全部替换字符用法实例代码
js Replace全部替换字符用法实例代码,替换1次和多次,主要是正则表达式 var r= "1\n2\n3\n";//将字母\n替换成分号alert(r.replace("\n",";"));//结果:1;2\n3\n 只替换了第一个var r= "1\n2\n3\n";//将字母\n替换成分号alert(r.replace(/\n/g, ";"));//结果...
2022-10-14 实例代码
80