网络编程
位置:首页>> 网络编程>> Asp编程>> asp中判断是否是手机浏览器以及手机类型

asp中判断是否是手机浏览器以及手机类型

  发布时间:2014-12-06 09:33:05 

标签:asp,手机,浏览器

下面这段代码是asp编写的用来识别客户端是否为手机浏览器,以及手机类型的代码。主要用于手机网站的建设,以便实现相同网址下的不同版本网站(比如,用于电脑浏览的网站、用于手机浏览的网站)的自动切换。

'**************************************************
'函数名:websitez_detect_mobile_device
'作  用:判断访问浏览器的类型
'参  数:
'返回值:浏览器类型
'函数名:RegExpTest
'作  用:在正则表达式中搜索给定的字符串,找到返回 true
'参  数:
'返回值:布尔型
'日期:11-12-18
'**************************************************
Function RegExpTest(patrn, strng) 
Dim regEx, retVal '建立变量。 
Set regEx=New RegExp '建立正则表达式。 
regEx.Pattern=patrn  '设置模式。 
regEx.IgnoreCase=True '设置是否区分大小写,true为不区分。 
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

  以上代码改编于网上的一段php代码(具体大家可以百度、谷歌搜索)限于个人水平难免会出现错误,现在分享出来希望大家共同完善。如有不妥、错误或更好的改进请留言,将不胜感激。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com