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

JSP判断移动设备的正则

热门标签:高德地图标注样式 四川保险智能外呼系统商家 杭州语音电销机器人软件 地图标注线上教程 电销机器人好卖么 北票市地图标注 杭州ai语音电销机器人功能 商洛电销 电销机器人是有一些什么技术
看到了一篇很好的文章, 《在天猫,前端做什么?》,里面有天猫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判断移动设备的正则》,本文关键词  JSP,判断,移动,设备,的,正则,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《JSP判断移动设备的正则》相关的同类信息!
  • 本页收集关于JSP判断移动设备的正则的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章