为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用正则来替换掉某种class呢?

如何使用正则来替换掉某种class呢?

慕粉4032305 2016-11-18 13:40:10
比如我想删除掉className='ilovejs js';中后面的js,如何只替换掉后面的js但是不删除前面的js呢?并且如果className='js';这种情况也要被替换
查看完整描述

3 回答

已采纳
?
woshiajuana

TA贡献211条经验 获得超152个赞

var str = 'jsx anjuanjs js jsx xjs ';
str = str.replace(/^js(\s+)|(\s+)js(\s*)$|(\s+)js(\s+)/g,' ');
console.log(str)

这样你看看  ,不保证一定对

解释一下:

^js(\s+) 匹配的是 str='js ····' 以js开头的,js后面必须有一个或者多个空格,这样就不会匹配str='jsx```'这种的

(\s+)js(\s*)$ 匹配的是结尾的js

(\s+)js(\s+) 匹配的是中间出现的js

查看完整回答
2 反对 回复 2016-11-18
  • 慕粉4032305
    慕粉4032305
    你说的确实可以,但是开头的是不是要考虑万一前面有空格呢,^\s*js\s+|\s+js\s*$|\s+js\s+/g,我加了个\s*
  • woshiajuana
    woshiajuana
    开头会被(\s+)js(\s+)这种匹配的呀
?
李晓健

TA贡献1036条经验 获得超461个赞

你看一下jquery源码里的 removeClass里的正则是怎么写的,不就行了。

查看完整回答
反对 回复 2016-11-18
  • 慕粉4032305
    慕粉4032305
    有道理,不过我刚想出来replace(/\s*^current|current\s*$/g,''),貌似这样写可以
  • 3 回答
  • 0 关注
  • 1626 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信