如何匹配jquery中没有空格的正则表达式

时间:2013-03-06 09:16:56

标签: javascript jquery regex

我有这个正则表达式并且工作正常

var r = new RegExp(page, 'i'); 
$("ul.nav-tabs a").filter(function(){ return $(this).text().match(r) }).parent().addClass("active");

但是如果我有

它就不起作用

page = useraccount

,文字为User Account

有没有办法让一般的正则表达式匹配普通单词加上加入的单词

1 个答案:

答案 0 :(得分:0)

你这样做的方式是行不通的,因为'用户'总是在'useraccount'之内。

您可以通过解决某些问题使其适用于您的特定用例,或者您可以正确的方式执行此操作。

我建议在链接中添加另一个字段,您可以完全匹配。或者,更清洁,到<li>。像这样:

<ul class="nav-tabs">
    <li data-page="user"><a href="..." >User</a></li>
    <li data-page="useraccount"><a href="..." >User Accounts</a></li>
    ...
</ul>

然后你可以在你的javascript中执行此操作:

var elements = $("ul.nav-tabs > li").filter(function() {
    return $(this).data('page') == page;
});
elements.addClass("active");