2013-04-02 66 views
0

我有发现类名FC-ID ##可能是前一个功能:FC-ID3或FC-ID14类名称正确

我把它变成FC-天##。问题是,它像FC-ID14成为FC-DAY1 ......看来只有第一个数字解析...

$(mondays).each(function() { 
    var num = this.className.split(' ')[0].match(/fc-id(\d)/)[1]; 
    var clsnme = '.fc-day' + num; 

    $(this).addClass('monday'); 
    $(clsnme).addClass('monday'); 
}); 

我怎样才能得到它解析整个多少?

+1

,使用'/ FC-ID (\ d +)/'或'/ fc-id(\ d *)/',首先检查一个或多个数字,而第二个检查数字为0或更多。决定使用哪一个 – vdua

+0

'var num = this.className.split('')[0] .replace('fc-id','');'你真的需要一个正则表达式吗? – adeneo

回答

2

这是给你正是你要求的。 \d匹配一个数字。如果你想匹配多个数字,你需要使用一个量词像*(零个或多个)或+(一个或多个):您使用了错误的正则表达式

/fc-id(\d+)/ 
2

匹配多于一个号码(\d):

var num = this.className.split(' ')[0].match(/fc-id(\d+)/)[1]; 

\d比赛为恰好有一个数字,\d+匹配一个或多个数字。