主頁 > 知識庫 > JSP判斷移動設(shè)備的正則

JSP判斷移動設(shè)備的正則

熱門標(biāo)簽:高德地圖標(biāo)注樣式 四川保險智能外呼系統(tǒng)商家 杭州語音電銷機(jī)器人軟件 地圖標(biāo)注線上教程 電銷機(jī)器人好賣么 北票市地圖標(biāo)注 杭州ai語音電銷機(jī)器人功能 商洛電銷 電銷機(jī)器人是有一些什么技術(shù)
看到了一篇很好的文章, 《在天貓,前端做什么?》,里面有天貓php判斷移動設(shè)備的正則(個人猜測),覺得很好用,于是就決定移植到JSP里面。

jsp文件名為 index.jsp,其實(shí)也可以使用過濾器來進(jìn)行攔截,然后跳轉(zhuǎn)到其他域名去。

完整代碼如下:
復(fù)制代碼 代碼如下:

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

// \b 是單詞邊界(連著的兩個(字母字符 與 非字母字符) 之間的邏輯上的間隔),
// 字符串在編譯時會被轉(zhuǎn)碼一次,所以是 "\\b"
// \B 是單詞內(nèi)部邏輯間隔(連著的兩個字母字符之間的邏輯上的間隔)
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>測試移動設(shè)備跳轉(zhuǎn)/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="測試,移動設(shè)備,跳轉(zhuǎn)">
meta http-equiv="description" content="測試移動設(shè)備跳轉(zhuǎn)">
!--
link rel="stylesheet" type="text/css" href="styles.css">
-->
/head>

body>

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

正在運(yùn)行!br>
/div>

/body>
/html>
您可能感興趣的文章:
  • js判斷當(dāng)前頁面在移動設(shè)備還是在PC端中打開
  • js判斷瀏覽器類型及設(shè)備(移動頁面開發(fā))
  • JS和css實(shí)現(xiàn)檢測移動設(shè)備方向的變化并判斷橫豎屏幕
  • javascript判斷移動端訪問設(shè)備并解析對應(yīng)CSS的方法
  • JS判斷移動端訪問設(shè)備并加載對應(yīng)CSS樣式
  • js判斷是否是移動設(shè)備登陸網(wǎng)頁的簡單方法
  • js判斷設(shè)備是否為PC并調(diào)整圖片大小
  • JS如何判斷移動端訪問設(shè)備并解析對應(yīng)CSS
  • Js如何判斷客戶端是PC還是手持設(shè)備簡單分析
  • JavaScript根據(jù)CSS的Media Queries來判斷瀏覽設(shè)備的方法

標(biāo)簽:貴州 紅河 宿州 青島 云浮 江西 丹東 西藏

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP判斷移動設(shè)備的正則》,本文關(guān)鍵詞  JSP,判斷,移動,設(shè)備,的,正則,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP判斷移動設(shè)備的正則》相關(guān)的同類信息!
  • 本頁收集關(guān)于JSP判斷移動設(shè)備的正則的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章