主页 > 知识库 > JSP判断移动设备的正则

JSP判断移动设备的正则

热门标签:Mysql连接数设置 电子围栏 阿里云 科大讯飞语音识别系统 银行业务 Linux服务器 团购网站 服务器配置
看到了一篇很好的文章, 《在天猫,前端做什么?》,里面有天猫php判断移动设备的正则(个人猜测),觉得很好用,于是就决定移植到JSP里面。

jsp文件名为 index.jsp,其实也可以使用过滤器来进行拦截,然后跳转到其他域名去。

完整代码如下:
复制代码 代码如下:

%@page import="java.util.regex.Matcher"%>
%@page import="java.util.regex.Pattern"%>
%@ page language="java" pageEncoding="UTF-8"%>
%!

// \b 是单词边界(连着的两个(字母字符 与 非字母字符) 之间的逻辑上的间隔),
// 字符串在编译时会被转码一次,所以是 "\\b"
// \B 是单词内部逻辑间隔(连着的两个字母字符之间的逻辑上的间隔)
String phoneReg = "\\b(ip(hone|od)|android|opera m(ob|in)i"
+"|windows (phone|ce)|blackberry"
+"|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp"
+"|laystation portable)|nokia|fennec|htc[-_]"
+"|mobile|up.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
String tableReg = "\\b(ipad|tablet|(Nexus 7)|up.browser"
+"|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
Pattern phonePat = Pattern.compile(phoneReg, Pattern.CASE_INSENSITIVE);
Pattern tablePat = Pattern.compile(tableReg, Pattern.CASE_INSENSITIVE);

public boolean checkMobile(String userAgent){
if(null == userAgent){
userAgent = "";
}
// 匹配
Matcher matcherPhone = phonePat.matcher(userAgent);
Matcher matcherTable = tablePat.matcher(userAgent);
if(matcherPhone.find() || matcherTable.find()){
return true;
} else {
return false;
}
}
%>
%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

//
String userAgent = request.getHeader( "USER-AGENT" ).toLowerCase();

if(null == userAgent){
userAgent = "";
}
if(checkMobile(userAgent)){
response.sendRedirect(basePath+"download.html");
//request.getRequestDispatcher("/download.html").forward(request,response);
} else {
response.sendRedirect(basePath+"index.html");
//request.getRequestDispatcher("/index.html").forward(request,response);
}
//
%>

!DOCTYPE html>
html lang="zh-cn">
head>
base href="%=basePath%>">

title>测试移动设备跳转/title>
meta http-equiv="pragma" content="no-cache">
meta http-equiv="cache-control" content="no-cache">
meta http-equiv="expires" content="0">
meta http-equiv="keywords" content="测试,移动设备,跳转">
meta http-equiv="description" content="测试移动设备跳转">
!--
link rel="stylesheet" type="text/css" href="styles.css">
-->
/head>

body>

div id="pagecontent" style="min-height:500px;_height:500px;">

正在运行!br>
/div>

/body>
/html>
您可能感兴趣的文章:
  • js判断当前页面在移动设备还是在PC端中打开
  • js判断浏览器类型及设备(移动页面开发)
  • JS和css实现检测移动设备方向的变化并判断横竖屏幕
  • javascript判断移动端访问设备并解析对应CSS的方法
  • JS判断移动端访问设备并加载对应CSS样式
  • js判断是否是移动设备登陆网页的简单方法
  • js判断设备是否为PC并调整图片大小
  • JS如何判断移动端访问设备并解析对应CSS
  • Js如何判断客户端是PC还是手持设备简单分析
  • JavaScript根据CSS的Media Queries来判断浏览设备的方法

标签:枣庄 衡水 大理 江苏 广元 蚌埠 衢州 萍乡

巨人网络通讯声明:本文标题《JSP判断移动设备的正则》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266