我需要正则表达式构建方面的帮助。有一行Javascript:
navigator.userAgent.match(/Firefox\/3./)
现在它仅匹配Firefox 3.x.我需要的是一个表达式,它将匹配任何第3版的Firefox版本。意思是Firefox 3,4,5,等等。
欢迎任何建议!
答案 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。