java获取ie版本_java获取浏览器类型及版本

public Map getUserAgent(HttpServletRequest req){

Map Sys= new HashMap();

String ua = req.getHeader("User-Agent").toLowerCase();

String s;

String msieP = "msie ([\\d.]+)";

String firefoxP = "firefox\\/([\\d.]+)";

String chromeP = "chrome\\/([\\d.]+)";

String operaP = "opera.([\\d.]+)/)";

String safariP = "version\\/([\\d.]+).*safari";

Pattern pattern = Pattern.compile(msieP);

Matcher mat = pattern.matcher(ua);

if(mat.find()){

s=mat.group();

Sys.put("type", "ie");

Sys.put("version", s.split(" ")[1]);

return Sys;

}

pattern = Pattern.compile(firefoxP);

mat=pattern.matcher(ua);

if(mat.find()){

s=mat.group();

System.out.println(s);

Sys.put("type", "firefox");

Sys.put("version", s.split("/")[1]);

return Sys;

}

pattern = Pattern.compile(chromeP);

mat=pattern.matcher(ua);

if(mat.find()){

s=mat.group();

Sys.put("type", "chrome");

Sys.put("version", s.split("/")[1]);

return Sys;

}

pattern = Pattern.compile(operaP);

mat=pattern.matcher(ua);

if(mat.find()){

s=mat.group();

Sys.put("type", "opera");

Sys.put("version", s.split("\\.")[1]);

return Sys;

}

pattern = Pattern.compile(safariP);

mat=pattern.matcher(ua);

if(mat.find()){

s=mat.group();

Sys.put("type", "safari");

Sys.put("version", s.split("/")[1].split(".")[0]);

return Sys;

}

return Sys;

}

网上找的一段js获取,原理都是一样,通过浏览器的 User-Agent 获得,可以自由扩展:

/**

* 获取浏览器类型及 版本

* @returns 返回对象,两属性,type:表示浏览器类型,version:表示版本 {___anonymous25556_25557}

*/

function getUserAgent(){

var Sys={};

var ua=navigator.userAgent.toLowerCase();

var s;

(s=ua.match(/msie ([\d.]+)/))?(Sys['type']='ie',Sys['version']=s[1]):

(s=ua.match(/firefox\/([\d.]+)/))?(Sys['type']='firefox',Sys['version']=s[1]):

(s=ua.match(/chrome\/([\d.]+)/))?(Sys['type']='chrome',Sys['version']=s[1]):

(s=ua.match(/opera.([\d.]+)/))?(Sys['type']='opera',Sys['version']=s[1]):

(s=ua.match(/version\/([\d.]+).*safari/))?(Sys['type']='safari',Sys['version']=s[1]):0;

return Sys;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值