js 正则匹配标签,过滤标签不保留内容和过滤标签保留内容,过滤标签的的属性

1、匹配双标签(包括内容),过滤标签,不保留内容。

var reg1 = /<span[^>]*>(.|
)*</span>/gi;

var str1 = '<span>我是被删除的</span>123123';

console.log(str1.replace(reg1, ''));

2、匹配标签(不包括内容),过滤标签,保留内容。

var reg1 = /(</?font.*?>)/gi;
var reg2 = /(</?span.*?>)/gi;
var reg3 = /(</?a.*?>)/gi;
var reg4= /(</?font.*?>)|(</?span.*?>)|(</?a.*?>)/gi;

var str = '<span>我是被保留的</span><a href="asdasd">你好,我也是被保留的<font>我的font里的</font></a>';

console.log(str.replace(reg1, ''));
console.log(str.replace(reg2, ''));
console.log(str.replace(reg3, ''));
console.log(str.replace(reg4, ''));

3、去掉标签内的属性(比如style和class)

var reg1 = /<span[^>]*>/gi;

var str1 = '<span style="color:red;">我是被删除的</span>123123';

console.log(str1.replace(reg1, '<span>'));

有什么正则需要写的,也可以在这里留言。

原文地址:https://www.cnblogs.com/huoan/p/11567766.html