手机
当前位置:查字典教程网 >编程开发 >正则表达式 >JS 正则表达式判断各个浏览器代码详解
JS 正则表达式判断各个浏览器代码详解
摘要:注释都在代码里面了。很详细。只判断了IE火狐谷歌因为我没装其他浏览器了,所以呵呵。当然如果要判断其他浏览器。基本代码都是一样的了。复制代码代...

注释都在代码里面了。很详细。

只判断了IE 火狐 谷歌 因为我没装其他浏览器了,所以呵呵。当然如果要判断其他浏览器。基本代码都是一样的了。

复制代码 代码如下:

(function(){

window.sys={};

var ua=navigator.userAgent.toLowerCase();

//首先我们来看一下3个浏览器都返回了什么看下面。

//ie ua=mozilla/4.0 (compatible; msie 8.0; windows nt 5.2; trident/4.0; qqpinyin 730; .net clr 1.1.4322)

//firefox ua=mozilla/5.0 (windows; u; windows nt 5.2; zh-cn; rv:1.9.2) gecko/20100115 firefox/3.6

//chrome ua=mozilla/5.0 (windows; u; windows nt 5.2; en-us) applewebkit/532.5 (khtml, like gecko) chrome/4.0.249.0 safari/532.5

//可以看出上面的浏览器 IE msie 8.0 firefox firefox/3.6 chrome chrome/4.0.249

//我们只要用正则找出字符串里面是能匹配这几个关键地方就可以找出是哪个浏览器了。

//看下面正则 firefox 的正则表达式 /firefox/([d.]+)/

//firefox/ 匹配了一个 firefox/ 这样一个字符

//([d.]+) ()表示需要捕获匹配的字符。后面可以用[1]的方式来获取版本号就是他的功劳了。

//[]表示把d.括起来当成一个整体 没别的意思

//d 匹配一个数字 . 匹配一个 . 加在一起就可以匹配 8. 这样的东西了

//[]+ []外面还有个+ 他会把[] 里面原来匹配的东西重复 于是变成了这样 8.8.8.8. 当然这样也可以 48.1.563

sys.firefox=ua.match(/firefox/([d.]+)/);

sys.ie=ua.match(/msies([d.]+)/);

//msies([d.]+)

// ie的就基本跟火狐一样了 没什么太大的区别

// msie 8.0 s 就是匹配 msie和8.0 中间的一个空格

sys.chrome=ua.match(/chrome/([d.]+)/);

//chrome/([d.]+)

//跟火狐的一样

})();

//使用

if(sys.firefox){

alert(true)

}else{

alert(false)

}

if(sys.ie[1]=="8.0"){

alert(true)

}else{

alert(false)

}

alert(sys.firefox);

alert(sys.ie);

alert(sys.chrome);

//只有当前浏览器的sys才能使用[1]返回版本号

alert(sys.firefox[1]);

//alert(sys.ie[1]);

//alert(sys.chrome[1]);

我遇到一个问题。我看到高手有这样写的

firefox/([d.]+)//高手的

firefox/([d.]+)//我的

//我很疑惑 到底这两个有什么区别。我用很多STR 测试了。没看出什么区别//难道[d.]+ 跟 [d.]+一样么?求高手解答。

【JS 正则表达式判断各个浏览器代码详解】相关文章:

javascript 基于正则表达式的文本框验证代码

PHP 正则表达式常用函数使用小结

dw(dreamweaver)正则表达式函数列表

又一篇正则表达式学习笔记

正则表达式详述 四

EditPlus 正则表达式替换字符串详解

webregexp 正则测试实现代码

正则表达式中的反向预搜索实现

正则表达式的基本知识

[js]用JAVASCRIPT正则表达式限制文本字节数的代码

精品推荐
分类导航