需要你帮助一个简单的JavaScript正则表达式

时间:2013-12-10 15:25:31

标签: javascript regex

我需要使用javascript获取特定的类。 这个类是bootstrap的网格:col-md-8

我需要得到这个号码,我试试这个:

$class = $('div').attr('class');
$number = $class.match(/^col-md-./);

我是正则表达式的真正初学者,请帮助我。

编辑:$ class可能有更多类:'col col-md-8 col-offset-md-8'

4 个答案:

答案 0 :(得分:4)

\d+作为模式。

'col-md-8'.match(/\d+/)
// => ["8"]
'col-md-8'.match(/\d+/)[0]
// => "8"
  • \d匹配数字字符。
  • +是重复修饰符:使前一个模式匹配多个(1次或更多次)

更新对评论的回复:

使用捕获组:

'other-class-1 col-md-8'.match(/col-md-(\d+)/)[1]
// => "8"

答案 1 :(得分:1)

简单地使用:$ class.substr(7)

答案 2 :(得分:1)

你可以将falsetru的答案和你的答案混在一起,忽略其他的分数和数字:

cls = 'col-md-8'col-md-8
match = cls.match(/col-md-(\d+)/)
// => ['col-md-8', '8']

括号捕获总模式的子串并将它们存储在匹配数组中。匹配数组的第一个元素是完全匹配的模式,其余元素是单独的捕获。

match[1]
// => "8"

要将字符串转换为整数,可以使用一元加运算符:

+match[1]
// => 8

答案 3 :(得分:0)

以下正则表达式可以根据需要使用

    /class="(.)*col-md-\d*"/g

以下是[示例]:http://jsfiddle.net/s74chw8k/13/