正则表达式如何?

时间:2012-01-06 02:07:21

标签: javascript regex

我需要正则表达式构建方面的帮助。有一行Javascript:

 navigator.userAgent.match(/Firefox\/3./)

现在它仅匹配Firefox 3.x.我需要的是一个表达式,它将匹配任何第3版的Firefox版本。意思是Firefox 3,4,5,等等。

欢迎任何建议!

6 个答案:

答案 0 :(得分:4)

单独使用正则表达式无法正常执行此操作。但你可以用正则表达式+一些代码来实现:

var m = navigator.userAgent.match(/Firefox\/(\d+)\./);
if (m && m[1] > 3) {
  // .... firefox 3 and above ...
}

注意:至于单独使用regex无法正常使用的原因,请考虑使用Firefox / 10.0

答案 1 :(得分:3)

navigator.userAgent.match(/Firefox\/([3-9]|\d{2,})./)

答案 2 :(得分:1)

navigator.userAgent.match(/Firefox\/([3-9]|\d\d)./)

答案 3 :(得分:0)

如果您使用的是jQuery,我建议您查看:http://api.jquery.com/jQuery.browser/

答案 4 :(得分:0)

这个怎么样,例如:

navigator.userAgent.match(/Firefox\/[3456789]./)

答案 5 :(得分:0)

if(/Firefox\/([^012]|\d{2,})\./i.test(navigator.userAgent)){
    // What you want to do
}

因为你需要匹配除版本0,1和2之外的所有firefox。