packagecom.hanchao.util;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
/**
*@authorliweihan()
*@version1.0(11月28日下午2:31:56)
*检查是否是移动端的访问
*/
publicclassCheckMobile{
//\b是单词边界(连着的两个(字母字符与非字母字符)之间的逻辑上的间隔),
//字符串在编译时会被转码一次,所以是"\\b"
//\B是单词内部逻辑间隔(连着的两个字母字符之间的逻辑上的间隔)
staticStringphoneReg="\\b(ip(hone|od)|android|operam(ob|in)i"
+"|windows(phone|ce)|blackberry"
+"|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp"
+"|laystationportable)|nokia|fennec|htc[-_]"
+"|mobile|up.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
staticStringtableReg="\\b(ipad|tablet|(Nexus7)|up.browser"
+"|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
//移动设备正则匹配:手机端、平板
staticPatternphonePat=pile(phoneReg,Pattern.CASE_INSENSITIVE);
staticPatterntablePat=pile(tableReg,Pattern.CASE_INSENSITIVE);
/**
*检测是否是移动设备访问
*
*@Title:check
*@Date:-7-7下午01:29:07
*@paramuserAgent浏览器标识
*@returntrue:移动设备接入,false:pc端接入
*/
publicstaticbooleancheck(StringuserAgent){
if(null==userAgent){
userAgent="";
}
//匹配
MatchermatcherPhone=phonePat.matcher(userAgent);
MatchermatcherTable=tablePat.matcher(userAgent);
if(matcherPhone.find()||matcherTable.find()){
returntrue;
}else{
returnfalse;
}
}
}