navigator.userAgent:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
navigator.userAgent.toLowerCase().match(/msie/s(/d+(/.?/d)*)/)[0] == myie 7.0
navigator.userAgent.toLowerCase().match(/msie/s(/d+(/.?/d)*)/)[1] == 7.0
navigator.userAgent.toLowerCase().match(/msie/s(/d+(/.?/d)*)/)[2] == .0
navigator.userAgent.toLowerCase().match(/msie/s(/d+(/.?/d)*)/)[3] == undefined
如果没有设置全局标志 (g),数组的0元素包含整个匹配,而第 1 到 n 元素包含了匹配中曾出现过的任一个子匹配。这相当于没有设置全局标志的 exec 方法。如果设置了全局标志,元素0到n中包含所有匹配。
var obj = "msie 7.0 sdf msie 6.0 sdfmsie 5.0 sdfmsie 4.0 s df";
for(var i=0; i<obj.match(/msie/s(/d+(/.?/d)*)/g).length+1; i++)
{
document.write(obj.match(/msie/s(/d+(/.?/d)*)/g)[i]);
document.write("<br>");
}
Output as:
msie 7.0
msie 6.0
msie 5.0
msie 4.0
undefined