一、正则验证设备方法

web前端能够通过js来辨别mobile or pc,下面就列举一些常用的浏览器userAgent:

var agent=navigator.userAgent;

var patternMobile=/mobile/ig;

var patternModel={

"iphone":new RegExp("iPhone",'i'),

"iPad":new RegExp("iPad",'i'),

"iPod":new RegExp("iPod",'i'),

"mini":new RegExp("mini",'i'),

"android":new RegExp("android",'i'),

"360":new RegExp("360\s+Aphone\s+Browser",'i'),

"baidu":new RegExp("baidubrowser",'i'),

"uc":new RegExp("UCBrowser",'i'),

"dolphin":new RegExp("DolphinBrowserCN",'i'),

"sougou":new RegExp("SogouMobileBrowser",'i'),

"lenvo":new RegExp("Lenovo-",'i'),"opera":new RegExp("OPR",'i'),

"chrome":new RegExp("chrome",'i'),

"firefox":new RegExp("FireFox",'i'),

"qq":new RegExp("MQQBrowser",'i'),

"nokia":new RegExp("NokiaBrowser",'i'),

"Symbian":new RegExp("Symbian",'i'),

"windowsphone":new RegExp("Windows\s+Phone|w7|w8",'i'),

"weixin":new RegExp("WindowsWechat",'i')

}

浏览器的检测

1.patternMobile.test(agent)                           //检测是否为手机端

2.patternModel.iphone.test(agent)              //检测是否为iphoe

3.patternModel.iPad.test(agent)                  //检测是否为ipad

4.patternModel.iPod.test(agent)                  //检测是否为iPod

5.patternModel.mini.test(agent)                  //检测是否为iphone mini

6.patternModel.iphone.test(agent) |patternModel.iPad.test(agent)|patternModel.iPod.test(agent)|patternModel.mini.test(agent)            //检测是否为iphone 设备

7.patternModel.android.test(agent)           //检测是否为android设备

8.patternModel.360.test(agent)&&patternMobile.test(agent)               //检测是否为360手机浏览器

9.patternModel.baidu.test(agent)&&patternMobile.test(agent)           //检测是否为百度手机浏览器

10.patternModel.uc.test(agent)&&patternMobile.test(agent) //检测是否为uc手机浏览器

11.patternModel.dolphin.test(agent)&&patternMobile.test(agent) //检测是否为海豚手机浏览器

12.patternModel.sougou.test(agent)&&patternMobile.test(agent) //检测是否为搜狗手机浏览器

13.patternModel.lenvo.test(agent)&&patternMobile.test(agent) //检测是否为联想自带手机浏览器

14.patternModel.opera.test(agent)&&patternMobile.test(agent) //检测是否为opera手机浏览器

15.patternModel.chrome.test(agent)&&patternMobile.test(agent) //检测是否为chrome手机浏览器

16.patternModel.firefox.test(agent)&&patternMobile.test(agent) //检测是否为firefox手机浏览器

17.patternModel.qq.test(agent)&&patternMobile.test(agent) //检测是否为qq手机浏览器

18.patternModel.nokia.test(agent)&&patternMobile.test(agent) //检测是否为nokia自带浏览器

19.patternModel.Symbian.test(agent)&&patternMobile.test(agent) //检测是否为Symbian浏览器

20.patternModel.windowsphone.test(agent) //检测是否为windowsphone

21.patternModel.weixin.test(agent) //检测是否为微信windows版

注:手机浏览器允许修改浏览器的标识,可能会出现检测异常的情况

二、完整的浏览器检查

var client=function(){//呈现引擎var engine={ie:0,gecko:0,webkit:0,khtml:0,opera:0,ver:null,//版本号};//浏览器var browser={ie:0,firefox:0,safari:0,konq:0,opera:0,chrome:0,ver:null};//平台、设备和操作系统var system={win:false,mac:false,x1l:false,iphone:false,ipod:false,ipad:false,ios:false,android:false,nokiaN:false,winMobile:false,wii:false,//游戏系统ps:false};var ua=navigator.userAgent;if(window.opera){engine.ver=browser.ver=window.opera.version();engine.opera=browser.opera=parseFloat(engine.ver);}else if(/AppleWebkit\/(\S+)/.test(ua)){engine.ver=RegExp['$1'];engine.webkit=parseFloat(engine.ver);//确定是Chrome还是safariif(/Chrome\/(\S+)/.test(ua)){browser.ver=RegExp['$1'];browser.chrome=parseFloat(browser.ver);}else if(/Version\/(\S+)/.test(ua)){browser.ver=RegExp['$1'];browser.safari=parseFloat(browser.ver);}else{var safariVersion = 1;if(engine.webkit<100){safariVersion = 1;}else if(engine.webkit<312){safariVersion = 1.2;}else if(engine.webkit<412){safariVersion = 1.3;}else{safariVersion = 2;}browser.safari=browser.ver=safariVersion;}}else if(/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){engine.ver=browser.ver=RegExp['$1'];engine.khtml=browser.konq=parseFloat(engine.ver);}else if(/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){engine.ver=RegExp['$1'];engine.gecko=parseFloat(engine.ver);//确定是不是firefoxif(/Firefox\/(\S+)/.test(ua)){browser.ver=RegExp['$1'];browser.firefox=parseFloat(browser.ver);}}else if(/MISE ([^;]+)/.test(ua)){browser.ver=engine.ver=RegExp['$1'];engine.ie=browser.ie=parseFloat(engine.ver);}browser.ie=engine.ie;browser.opera=engine.opera;//检测平台var p=navigator.platform;system.win=p.indexOf('Win')==0;system.mac=p.indexOf('Mac')==0;system.x1l=(p=="X11") || (p.indexOf('Linux')==0);//检测windows操作系统if(system.win){if(/Win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){if(RegExp['$1']=="NT"){switch(RegExp['$2']){case '5.0':system.win="2000";break;case '5.1':system.win="XP";break;case '6.0':system.win="Vista";break;case '6.1':system.win="7";break;default:system.win="NT";break;}}else if(RegExp['$1']=='9x'){system.win="ME";}else{system.win=RegExp['$1'];}}}//移动设备system.iphone=ua.indexOf('iPhone')>-1;system.ipod=ua.indexOf('iPod')>-1;system.ipad=ua.indexOf('iPad')>-1;system.nokiaN=ua.indexOf('NokiaN')>-1;//windows mobileif(system.win=="CE"){system.winMobile=system.win;}else if(system.win=="Ph"){if(/Windows Phone OS (\d+.\d+)/.test(ua)){system.win="Phone";system.winMobile=parseFloat(RegExp['$1']);}}//检测iosif(system.mac && ua.indexOf("Mobile")>-1){if(/CPU (?:iPhone )?OS (\d+_\d+)/.test(ua)){system.ios=parseFloat(RegExp.$1.replace("_","."));}else{system.ios=2;}}//检测Android版本if(/Android (\d+\.\d+)/.test(ua)){system.android=parseFloat(RegExp.$1);}//游戏系统system.wii=ua.indexOf("Wii")>-1;system.ps=/playstation/i.test(ua);return {engine:engine,browser:browser,system:system};
}

对各浏览器userAgent的检测客户端相关推荐

  1. php浏览器类型检测工具,php检测客户端浏览器类型的简单示例

    这篇文章主要为大家详细介绍了php检测客户端浏览器类型的简单示例,具有一定的参考价值,可以用来参考一下. 对php检测客户端浏览器类型代码感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  2. 3个检测浏览器User-Agent信息的网站

    刚刚在收集各个移动平台浏览器的User-Agent(参见这里: 收集几个移动平台浏览器的User-Agent)的时候,遇到了这3个网站,觉得以后还是会用得到的,这里收藏一下,检测浏览器User-Age ...

  3. 【总结】浏览器 User-Agent 大全

    一.基础知识 Http Header之User-Agent User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA.它是一个特殊字符串头,是 ...

  4. 总结整理时下流行的浏览器User-Agent大全

    转载自:http://www.360doc.com/content/12/1012/21/7662927_241124973.shtml 以下为原文: 截止今天,关于精准广告定向技术的介绍已经全部写完 ...

  5. 检测客户端是PC,微信还是手机

     检测客户端是PC,微信还是手机 import java.io.IOException; import java.util.regex.Matcher; import java.util.rege ...

  6. 数据埋点-浏览器User-Agent大全

    <转自http://www.360doc.com/content/12/1012/21/7662927_241124973.shtml> 以下为原文: 截止今天,关于精准广告定向技术的介绍 ...

  7. Python从入门到摔门(7):【总结】浏览器 User-Agent 大全

    浏览器宣传图 一.基础知识 Http Header之User-Agent User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA.它是一个特 ...

  8. 常见浏览器User-Agent大全

    下面是工作中需要用到的常见浏览器User-Agent字符串的收集整理,不断更新中. Opera Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537. ...

  9. PHP文件在线检测病毒,VIRSCAN 在线病毒检测客户端

    /**** 本程序以及提供的源码仅供技术交流使用. 作者不作任何类型担保,在任何情况下都不对使用本软件造成的任何损失或任何相应而生. 间接.附带的损失承担任何责任. ****/importwin.ui ...

最新文章

  1. Zookeeper之javaAPI的使用
  2. python三大神器===》迭代器
  3. python资料库-python 资源库
  4. Dubbo的静态服务
  5. python装饰器使用多吗_对于Python装饰器使用的一些建议
  6. java学习笔记十一——对象转型
  7. 国产自主可控的嵌入式仿真软件SkyEye和同步数据流语言高阶运算消去的可信翻译
  8. Spring mvc Controller接口
  9. 测试sql server服务是否配置正确
  10. 电脑出现的问题以及解决方法
  11. 今天主要改了罗宾钢琴的首页图片缩放问题
  12. win7下安装openSSH
  13. 深信服桌面云(aDesk)学习笔记
  14. 编辑PDF时怎样删除文件中的图片
  15. yarn安装JEST报错:EPERM: operation not permitted, unlink 解决方法
  16. Excel 文件怎么批量插入首页、扉页、尾页?怎么将某个 Excel 文件批量插入到其它 Excel 文件的指定位置?
  17. 四个漂亮CSS样式表
  18. 汽车车身钣金—车身连接方式
  19. UI设计需要学习哪些软件?
  20. mib browser打开mib文件

热门文章

  1. Java获取今天是周几
  2. pinyin4j 内存溢出
  3. python3爬虫之访问量、点击率数据的爬取分析
  4. Python3爬虫增加点击量(慎用)
  5. 对matlab中的sparse()深刻理解
  6. 再见, Excel!你好, Luckysheet !
  7. 600多个人工智能AI工具汇总(AIGC时代-超级个体的崛起),免费提供和介绍(第一讲)
  8. 三国突然消失的六大名人:一人是顶尖谋士,一人勇武斩杀魏
  9. 常刺激人体五个部位可强健身体
  10. 校园导航系统的设计与实现