js用正则表达式删除指定属性

有一段html代码,<divstyle="a:a;b:b;c:c;"width="10%"height="dd"></div>1.用正则表达式删除style属性里面的任一... 有一段html代码,<div style="a:a; b:b; c:c;" width="10%" height="dd"></div>

1. 用正则表达式删除style属性里面的任一键值对,改怎么写?
替换后想达到的效果:<div style="a:a;" width="10%" height="dd"></div>
用正则表达式删除指定属性如width、height属性和值,该怎么写?
替换后想达到的效果:<div style="a:a; b:b; c:c;"></div>
********************我描述清除点*************************
str='<div style="a:a; b:b; c:c;" width="10%" height="dd"></div>';
求正则表达式删除width属性及值。
删除后效果:str='<div style="a:a; b:b; c:c;" height="dd"></div>'
求正则表达式删除style属性中的键值对b和c。
删除后效果:str='<div style="a:a;" width="10%" height="dd"></div>'
展开
 我来答
dksnear
推荐于2017-11-27 · TA获得超过1211个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:617万
展开全部
var source = '<div style="a:a; b:b; c:c;" width="10%" height="dd"></div>';

// 删除width属性及值。
console.log(source.replace(/width=".*?"/,''));

//删除style属性中的键值对b和c
console.log(source.replace(/(style=")(.*?)(")/,function(m,g1,g2,g3){

return g1 + g2.replace(/\s?(.*?):(.*?);/g,function(m,g1,g2){

// 删除b属性和c属性 要改成其他属性可以在这里控制
if(/^(b|c)$/.test(g1))
return '';

return m;

}) + g3;

}));
追问

你好,刚测试了,有2种情况没处理到,能麻烦你在帮我修改下吗?我已经追加悬赏了,等会改好采纳我再追加。麻烦你了。麻烦大神帮忙修改下,清除时也能包含上面两种情况,万分感谢!

var source = '<div style="a:a" width=10% height="dd"></div>';

  1. 当a:a后面没有;号而是“,该键值对不能清除;

  2. 当width属性的值没有引号,后面为空格或者>时,值无法清除;

追答
var source = '<div style="a:a; b:b; c:c" width=10% height="dd"></div>';

//删除width属性及值。
console.log(source.replace(/width=".*?"|width=.*?(?=\s|>)/,''));

//删除style属性中的键值对b和c
console.log(source.replace(/(style=)(".*?")/,function(m,g1,g2){

return g1 + ['"',g2.replace(/(?:;|")\s*(.*?):(.*?)(?=;|")/g,function(m,g1,g2){

// 删除b属性和c属性 要改成其他属性可以在这里控制
if(/^(a|b)$/.test(g1))
return '';

return [g1,':',g2,';'].join('');

}).replace(/;*?"?$/,''),'"'].join('');

}));
百度网友12293b2
2015-06-10 · TA获得超过215个赞
知道答主
回答量:173
采纳率:0%
帮助的人:50.4万
展开全部

删除widt可以正则查找

width="(\w*)([%]|[px])"

替换为空格即可,

更多追问追答
追问
你好,谢谢回答。你这个写的好像有问题啊。
追答

能匹配到啊?


对于查找属性吗!可能需要自己根据需求来修改


\w*:([\w]|[\w%])*;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式