大众世界 world of demotic + 社区新动力

 找回密码
 注册会员
搜索
查看: 3383|回复: 1

[ASP/ASPX] ASP中判断是否是手机浏览器以及手机类型

[复制链接]
发表于 2013-10-24 13:49:22 | 显示全部楼层 |阅读模式
下面这段代码是asp编写的用来识别客户端是否为手机浏览器,以及手机类型的代码。主要用于手机网站的建设,以便实现相同网址下的不同版本网站(比如,用于电脑浏览的网站、用于手机浏览的网站)的自动切换。



[Visual Basic] 纯文本查看 复制代码
<%
Function RegExpTest(patrn, strng)
Dim regEx, retVal
Set regEx=New RegExp
regEx.Pattern=patrn
regEx.IgnoreCase=Ture
retVal=regEx.Test(strng)
RegExpTest=retVal
End Function
function websitez_detect_mobile_device()
  'Innocent until proven guilty
  dim mobile_browser,user_agent, accept,mobile_browser_type

  mobile_browser = false
  'Speaks for itself
  user_agent=Trim(Lcase(Request.ServerVariables("HTTP_USER_AGENT")))
  'This can also be used to detect a mobile device
  accept = Request.ServerVariables("HTTP_ACCEPT")
  'Type of phone
  mobile_browser_type = "0" '0 - PC, 1 - Smart Phone, 2- Standard Phone  3 touch phone
Select case true
        'Start off with smart phones or smart devices
        case InStr(user_agent,"ipod")>0 or InStr(user_agent,"iphone")>0 or InStr(user_agent,"ipad")>0'iPhone or iPod
            mobile_browser = true
            mobile_browser_type = "3" 'Smart Phone
        case InStr(user_agent,"android")>0 'Android
            mobile_browser = true
            mobile_browser_type = "3" 'Smart Phone

        case InStr(user_agent,"opera mini")>0 'Opera Mini
            mobile_browser = true
            mobile_browser_type = "1" 'Smart Phone
        case InStr(user_agent,"blackberry")>0 'Blackberry
            mobile_browser = true
            mobile_browser_type = "1" 'Smart Phone
        case InStr(user_agent,"series60")>0 or InStr(user_agent,"series 60")>0  'Symbian OS
             mobile_browser = true
             mobile_browser_type = "1"'Smart Phone

        case RegExpTest("(pre\/|palm os|palm|hiptop|avantgo|plucker|xiino|blazer|elaine)",user_agent)'Palm OS
            mobile_browser = true
            mobile_browser_type = "1"'Smart Phone

        case RegExpTest("(iris|3g_t|windows ce|opera mobi|iemobile)",user_agent)'Windows OS
            mobile_browser = true
            mobile_browser_type = "1" 'Smart Phone

        case RegExpTest("(maemo|tablet|qt embedded|com2)",user_agent)'Nokia Tablet
            mobile_browser = true
            mobile_browser_type = "1" 'Smart Device

        'Now look for standard phones & mobile devices
        case RegExpTest("(mini 9.5|vx1000|lge |m800|e860|u940|ux840|compal|wireless| mobi|ahong|lg380|lgku|lgu900|lg210|lg47|lg920|lg840|lg370|sam-r|mg50|s55|g83|t66|vx400|mk99|d615|d763|el370|sl900|mp500|samu3|samu4|vx10|xda_|samu5|samu6|samu7|samu9|a615|b832|m881|s920|n210|s700|c-810|_h797|mob-x|sk16d|848b|mowser|s580|r800|471x|v120|rim8|c500foma:|160x|x160|480x|x640|t503|w839|i250|sprint|w398samr810|m5252|c7100|mt126|x225|s5330|s820|htil-g1|fly v71|s302|-x113|novarra|k610i|-three|8325rc|8352rc|sanyo|vx54|c888|nx250|n120|mtk |c5588|s710|t880|c5005|i;458x|p404i|s210|c5100|teleca|s940|c500|s590|foma|samsu|vx8|vx9|a1000|_mms|myx|a700|gu1100|bc831|e300|ems100|me701|me702m-three|sd588|s800|8325rc|ac831|mw200|brew |d88|htc\/|htc_touch|355x|m50|km100|d736|p-9521|telco|sl74|ktouch|m4u\/|me702|8325rc|kddi|phone|lg |sonyericsson|samsung|240x|x320|vx10|nokia|sony cmd|motorola|up.browser|up.link|mmp|symbian|smartphone|midp|wap|vodafone|o2|pocket|kindle|mobile|psp|treo|vnd.rim|wml|nitro|nintendo|wii|xbox|archos|openweb|mini|docomo)",user_agent) 'Mix of standard phones
            mobile_browser = true
            mobile_browser_type = "2" 'Standard Phone
        case InStr(accept,"text/vnd.wap.wml")>0 or InStr(accept,"application/vnd.wap.xhtml+xml")>0 'Any falling through the cracks
            mobile_browser = true
            mobile_browser_type = "2" 'Standard Phone

        case Request.ServerVariables("HTTP_X_WAP_PROFILE")<>"" or Request.ServerVariables("HTTP_PROFILE")<>"" 'Anyfalling through the cracks
            mobile_browser = true
            mobile_browser_type = "2" 'Standard Phone
        case ubound(filter(array("1207","3gso","4thp","501i","502i","503i","504i","505i","506i","6310","6590","770","802s","a wa","acer","acs","airn","alav","asus","attw","au-m","aur ","aus ","abac","acoo","aiko","alco","alca","amoi","anex","anny","anyw","aptu","arch","argo","bell","bird","bw-n","bw-u","beck","benq","bilb","blac","c55/","cdm-","chtm","capi","cond","craw","dall","dbte","dc-s","dica","ds-d","ds12","dait","devi","dmob","doco","dopo","el49","erk0","esl8","ez40","ez60","ez70","ezos","ezze","elai","emul","eric","ezwa","fake","fly-","fly_","g-mo","g1 u","g560","gf-5","grun","gene","go.w","good","grad","hcit","hd-m","hd-p","hd-t","hei-","hp i","hpip","hs-c","htc ","htc-","htca","htcg","htcp","htcs","htct","htc_","haie","hita","huaw","hutc","i-20","i-go","i-ma","i230","iac","iac-","iac/","ig01","im1k","inno","iris","jata","java","kddi","kgt","kgt/","kpt ","kwc-","klon","lexi","lg g","lg-a","lg-b","lg-c","lg-d","lg-f","lg-g","lg-k","lg-l","lg-m","lg-o","lg-p","lg-s","lg-t","lg-u","lg-w","lg/k","lg/l","lg/u","lg50","lg54","lge-","lge/","lynx","leno","m1-w","m3ga","m50","maui","mc01","mc21","mcca","medi","meri","mio8","mioa","mo01","mo02","mode","modo","mot ","mot-","mt50","mtp1","mtv ","mate","maxo","merc","mits","mobi","motv","mozz","n100","n101","n102","n202","n203","n300","n302","n500","n502","n505","n700","n701","n710","nec-","nem-","newg","neon","netf","noki","nzph","o2 x","o2-x","opwv","owg1","opti","oran","p800","pand","pg-1","pg-2","pg-3","pg-6","pg-8","pg-c","pg13","phil","pn-2","pt-g","palm","pana","pire","pock","pose","psio","qa-a","qc-2","qc-3","qc-5","qc-7","qc07","qc12","qc21","qc32","qc60","qci-","qwap","qtek","r380","r600","raks","rim9","rove","s55/","sage","sams","sc01","sch-","scp-","sdk/","se47","sec-","sec0","sec1","semc","sgh-","shar","sie-","sk-0","sl45","slid","smb3","smt5","sp01","sph-","spv ","spv-","sy01","samm","sany","sava","scoo","send","siem","smar","smit","soft","sony","t-mo","t218","t250","t600","t610","t618","tcl-","tdg-","telm","tim-","ts70","tsm-","tsm3","tsm5","tx-9","tagt","talk","teli","topl","hiba","up.b","upg1","utst","v400","v750","veri","vk-v","vk40","vk50","vk52","vk53","vm40","vx98","virg","vite","voda","vulc","w3c ","w3c-","wapj","wapp","wapu","wapm","wig ","wapi","wapr","wapv","wapy","wapa","waps","wapt","winc","winw","wonu","x700","xda2","xdag","yas-","your","zte-","zeto","acs-","alav","alca","amoi","aste","audi","avan","benq","bird","blac","blaz","brew","brvw","bumb","ccwa","cell","cldc","cmd-","dang","doco","eml2","eric","fetc","hipt","http","ibro","idea","ikom","inno","ipaq","jbro","jemu","java","jigs","kddi","keji","kyoc","kyok","leno","lg-c","lg-d","lg-g","lge-","libw","m-cr","maui","maxo","midp","mits","mmef","mobi","mot-","moto","mwbp","mywa","nec-","newt","nok6","noki","o2im","opwv","palm","pana","pant","pdxg","phil","play","pluc","port","prox","qtek","qwap","rozo","sage","sama","sams","sany","sch-","sec-","send","seri","sgh-","shar","sie-","siem","smal","smar","sony","sph-","symb","t-mo","teli","tim-","tosh","treo","tsm-","upg1","upsi","vk-v","voda","vx52","vx53","vx60","vx61","vx70","vx80","vx81","vx83","vx85","wap-","wapa","wapi","wapp","wapr","webc","whit","winw","wmlb","xda-"),Mid(user_agent,1,4),true))>-1 'Catch all
            mobile_browser = true
            mobile_browser_type = "2" 'Standard Phone
        Case Else
            mobile_browser = false
            mobile_browser_type = "0"
    End Select
	websitez_detect_mobile_device = array(mobile_browser,mobile_browser_type)
End Function

bwws=websitez_detect_mobile_device()
response.write(bwws(0)&"=="&bwws(1))

%>
回复

使用道具 举报

 楼主| 发表于 2013-12-4 17:36:10 | 显示全部楼层
[HTML] 纯文本查看 复制代码
<!-- 提示文字 -->
					<div class="item-tm" id="titleElement">
						<div class="l-page-title">
							<div class="l-page-title-note">提示:列表数据项
								<font color="blue">“蓝色”</font>代表待处理任务。
								<font color="#8B008B">“紫色”</font>代表一天后将超时的任务。
								<font color="#006400">“绿色”</font>代表三天后将超时的任务。
								<font color="red">“红色”</font>代表已超时任务。
							</div>
						</div>
					</div>
					<!-- 提示文字 -->
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|Wod Inc. ( 蜀ICP备20000008号-8

GMT+8, 2024-5-13 17:01 , Processed in 0.122650 second(s), 43 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表