javascript正则表达式匹配2部分网址(菜单和子菜单)

时间:2016-07-28 17:23:27

标签: javascript jquery html regex

我想添加一个"有效的"类到活动的菜单项。

这样可以正常工作:

var url = window.location.pathname;
urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");

$('.menu li a').each(function(){
        var hreflink = $(this).attr("href");

        if(urlRegExp.test(this.href.replace(/\/$/,''))){
            $(this).parent().addClass('active');
        }
});

我在页面上还有一个第二个菜单(一个子菜单,但不在主菜单附近),还有一个该页面子项的链接列表,我还想添加一个"活动& #34;同样可以分类到子菜单(同时也是主菜单)

所以基本上例如,当我在这个页面上时:

www.website.com/shops/cds
  • 我想将活动课程添加到"商店"在主菜单(li项目)
  • 我想将活动课程添加到" cds"在子菜单(li项目)

目前上面的正则表达式只适用于主菜单,如果我在子页面(子页面)上,它将适用于子菜单,但不适用于两个子菜单时间。

有人可以帮帮我吗? ; - )

非常感谢提前!!

亲切的问候 本

1 个答案:

答案 0 :(得分:1)

我使用名为http://www.regexr.com/的网站进行所有JS Regexing。

此正则表达式获取您的组件:

/\/(([a-z])+)/ig

以下是适合您的示例程序:

var url = 'www.website.com/shops/cds'
var reg = /\/(([a-z])+)/ig

var test = $('#test')

var match = reg.exec(url);
while (match != null) {
  test.append('<div>' + match[1] + '</div>')
  match = reg.exec(url);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  Test for: www.website.com/shops/cds
</div>
<div id="test">
  
</div>