联系站长 加入收藏 设为首页 繁體中文 RSS
  首页 | 生活百科 | 电脑网络 | 高手学堂 | 语录名言 | 读书文学 | 极品软件 | 奇趣图片 | 站长微博  
 您的位置: 精品百字节网 >> 电脑网络 >> 网络编程 >> 编程问题 >> 正文 当前没有通告!
   □  三种方法利用RegExp高效匹配浏览器、系统版本    4星级
三种方法利用RegExp高效匹配浏览器、系统版本
[ 作者:作者不详     来源:互连网     点击数:     更新时间:2007-08-14     文章录入:Admin
【字体:
[内容提要]
暂无简介

方法一:
利用RegExp高效匹配浏览器、系统版本 
Public Sub GetMyBrowser()
  Dim Agent,regEx,a
  MyBrowser = "unknown"
  MyOsInfo   = "unknown"
  Set regEx = New RegExp
  regEx.IgnoreCase = True
  regEx.Global = True
  Agent=Request.ServerVariables("HTTP_USER_AGENT")
  ’Agent="Opera/7.23 (X11; Linux i686; U)  [en]"
  ’sUserAgent= ";BaiduSpider"
  ’匹配浏览器版本
  RegEx.Pattern ="(Netscape|Opera|NetCaptor|MSN |MSIE|Maxthon|Galeon|Konqueror|Mozilla)[\s\/]{0,1}\d{0,}\.{0,1}\d*"
  Set a = RegEx.Execute(Agent)
  If a.Count>0 then MyBrowser=Replace(a(a.Count-1),"/"," ")
  ’匹配操作系统版本
  RegEx.Pattern = "(Windows|Mac_|Mac |unix|Linux|SunOS|BSD)[^;\(\)]*"
  Set a = RegEx.Execute(Agent)
  If a.Count>0 then MyOsInfo=a(a.Count-1)
  Response.Write MyOsInfo

方法二:
/*CheckBrowser()检查客户端的操作系统和浏器CheckBrowser成员Browser返回浏览器名称和版本号platform操作系统Isbot是否搜索机器*/

function CheckBrowser(){ var Agent=new String(Request.ServerVariables("HTTP_USER_AGENT")); var bot=new Array("Google","Isaac", "SurveyBot","Baiduspider","yahoo", "yisou","3721","ia_archiver", "P.Arthur","FAST-WebCrawler", "Java","Microsoft-ATL-Native", "TurnitinBot","WebGather","Sleipnir"); var browser=new Array("Opera","MSIE","Netscape","Firefox","Mozilla"); this.Browser="unknown"; for(var i=0;i<browser.length ;i++) {  if(Agent.indexOf(browser[i]) !=-1)  {   this.Browser=browser[i];    break;   } } if(this.Browser=="MSIE") this.Browser="Microsoft Internet Explorer"; switch (this.Browser)  {      case "Opera":      this.Browser+=" "+Agent.substring(Agent.indexOf("Opera")+"Opera".length+1,Agent.indexOf("Opera")+"Opera".length+4);      break;      case "Microsoft Internet Explorer":      this.Browser+=" "+Agent.substring(Agent.indexOf("MSIE")+"MSIE".length+1,Agent.indexOf("MSIE")+"MSIE".length+4);      break;      case "Netscape":      this.Browser+=" "+Agent.substring(Agent.indexOf("Netscape")+"Netscape".length+1,Agent.indexOf("Netscape")+"Opera".length+6);      break;      case "Firefox":      this.Browser+=" "+ Agent.substring(Agent.indexOf("Firefox")+"Firefox".length+1,Agent.indexOf("Firefox")+"Firefox".length+4);      break;      default:break;  }  this.platform="unknown";  if(Agent.indexOf("Windows") !=-1)  {    this.platform="Windows ";    if(Agent.indexOf("NT 5.2") !=-1)this.platform+="2003";    if(Agent.indexOf("NT 5.1") !=-1)this.platform+="XP";    if(Agent.indexOf("Windows CE") !=-1)this.platform+="CE";    if(Agent.indexOf("NT 4.0") !=-1)this.platform+="NT";    if(Agent.indexOf("NT 5.0") !=-1)this.platform+="2000";    if(Agent.indexOf("9x") !=-1)this.platform+="NT";    if(Agent.indexOf("ME") !=-1)this.platform+="ME";    if(Agent.indexOf("98") !=-1)this.platform+="98";    if(Agent.indexOf("95") !=-1)this.platform+="95";    if(Agent.indexOf("NT 6.0") !=-1)this.platform+="Vista";   }   else   {     if(Agent.indexOf("Win32") !=-1)this.platform="Win32";     if(Agent.indexOf("Linux") !=-1)this.platform="Linux";     if(Agent.indexOf("SunOS") !=-1)this.platform="SunOS";     if(Agent.indexOf("Mac") !=-1)this.platform="Mac";     if(Agent.indexOf("Unix") !=-1)this.platform="Unix";     if(Agent.indexOf("IBM") !=-1)this.platform="IBM";     if(Agent.indexOf("NetBSD") !=-1)this.platform="NetBSD";     if(Agent.indexOf("BSD") !=-1)this.platform="BSD";     if(Agent.indexOf("FreeBSD") !=-1)this.platform="FreeBSD";   }   this.Isbot=false;   if(this.Browser=="unknown" && this.platform=="unknown")   {     for(var i=0;i<bot.length ;i++)     {      if(Agent.indexOf(bot[i]) !=-1)     {      this.platform="";      this.Browser=bot[i];      this.Isbot=true;       break;      }     }   }} 

方法三:
function ChkUSERAGENT(){ 
  var myOs = ’unknown’,myBrowser = ’unknown’,t = new Array();
  var Agent= new String(Request.ServerVariables("HTTP_USER_AGENT"));
  //var Agent = ’;BaiDuSpider’;
  /* 匹配浏览器版本 */
  var re = new RegExp(’(Netscape|Opera|NetCaptor|MSN|Firefox|MSIE|Maxthon|Galeon|Konqueror|Mozilla)[\\s\\/]{0,1}\\d{0,}\\.{0,1}\\d*’,’ig’);
  t = Agent.match(re);
  if(t.length > 0){myBrowser = t[t.length-1]}
  /* 匹配操作系统版本 */
  var re = new RegExp(’(Windows|Mac_|Mac |unix|Linux|SunOS|BSD)[^;\(\)]*’,’ig’);
  t = Agent.match(re);
  if(t.length > 0){myOs = t[t.length-1]}
  /* 如果myOs为unknown,开始搜索引擎匹配 */
  if (myOs == ’unknown’){
   var re = new RegExp(’(Google|Isaac|SurveyBot|BaiDuSpider|ia_archiver|P.Arthur|FAST-WebCrawler|Java|Microsoft-ATL-Native|TurnitinBot|WebGather|Sleipnir|Sina Iask Spider|Yahoo!|Sogou)[^;\(\)]*’,’ig’);
   t = Agent.match(re);
  if(t.length > 0){myOs = t[t.length-1]}
  }
  if (!myOs == ’unknown’) IsSearch =true;
}

 

上一篇文章:JS代码集合 下一篇文章:用Asp实现QQ在线查询功能
发表评论 □告诉好友 □打印此文 □收藏此页 □关闭窗口 □返回顶部
 最新热点文章
 精品医院类网站网址大收集
 如何删除windows 2003或xp系统隐藏的...
 DedeCms管理员后台登陆经常自动退出的...
 知道IP如何用dos命令查出电脑名称
 WORD出错老是要求以安全模式打开文件...
 如何设置首页不显示页眉页脚?
 如何利用inurl命令查询网站外链及栏目...
 
 最新推荐文章
 精品医院类网站网址大收集
 如何利用宽带路由器控制局域网内电脑上...
 CSS圆角代码的实现方法
 带停顿的单行文字滚动代码
 实用的新网站免费收录提交地址精选
 Left join , Right Join, Inner Join用...
 趣话淘宝网衍生的多种新型职业
 
 最新图文
  ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
关于本站 | 免责申明 | 网站地图 | 联系站长 | 友情链接 | 与我同在
冀ICP备06032589号【虚拟化精英群虚拟化精英群续
  Copyright© 2006-2009 100byte.Com All Rights Reserved
网站声明:本网站是公益性质网站,部分内容来源于网络,如有侵犯您权利的地方,请与精品百字节站长联系,尽快修正.
Powered By CreateLive CMS 本站法律顾问:(冀港)武镇海律师
点击这里给我发消息