User-agent获取手机类型

  • 网上找的方法不能精确显示型号,对iphone无法取出
  • 改良后,代码如下,还需进一步验证修改:
package org.mice.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 
 * 类名称:MiceUtils.java 
 * 类描述:经常使用的类方法
 * 
 * @author chenph
 * @CreateDate:2015年5月16日
 * @version 1.0
 */
public class MiceUtils {
	// 从user-agent中取出手机类型
	//static Pattern pattern = Pattern.compile(";\\s?(\\S*?\\s?\\S*?)\\s?(Build)?/");  
	static Pattern pattern = Pattern.compile(";\\s?[^;\\s]*?(\\s?\\S*?)\\s?(Build)?/");  
	
	/**
	 * 获取手机类型
	 * @param agent
	 * @return
	 */
	public static String getMobileType(String agent){
		if(agent.indexOf("iPhone") != -1){
			return "iPhone";
		}
	    Matcher matcher = pattern.matcher(agent);  
	    String model = null;  
	    if (matcher.find()) {  
	        model = matcher.group(1).trim();  
	        return model;
	    }  
	    return "";
	}
	
	public static void main(String args[]){
		//String agent = "Mozilla/5.0 (Linux; U; Android 5.0.2; zh-CN; XT1079 Build/LXB22.99-7.1) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.4.0.558 U3/0.8.0 Mobile Safari/534.30";
		String agent = "Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/12D508 UCBrowser/10.4.5.568 Mobile";
		System.out.println(MiceUtils.getMobileType(agent));
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值