国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Regex > 正文

JS 正則表達(dá)式判斷各個(gè)瀏覽器代碼詳解

2020-03-16 21:13:28
字體:
供稿:網(wǎng)友
學(xué)習(xí)了3天的正則了。也算幾掌握了點(diǎn)基本功。所以把原來一直用別人的判斷瀏覽器方法自己來寫了個(gè)。
 
 
注釋都在代碼里面了。很詳細(xì)。 
只判斷了IE 火狐 谷歌 因?yàn)槲覜]裝其他瀏覽器了,所以呵呵。當(dāng)然如果要判斷其他瀏覽器。基本代碼都是一樣的了。 
復(fù)制代碼代碼如下:

(function(){ 
window.sys={}; 
var ua=navigator.userAgent.toLowerCase(); 
//首先我們來看一下3個(gè)瀏覽器都返回了什么看下面。 
//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 
//我們只要用正則找出字符串里面是能匹配這幾個(gè)關(guān)鍵地方就可以找出是哪個(gè)瀏覽器了。 
//看下面正則 firefox 的正則表達(dá)式 /firefox//([/d/.]+)/ 
//firefox// 匹配了一個(gè) firefox/ 這樣一個(gè)字符 
//([/d/.]+) ()表示需要捕獲匹配的字符。后面可以用[1]的方式來獲取版本號(hào)就是他的功勞了。 
//[]表示把/d/.括起來當(dāng)成一個(gè)整體 沒別的意思 
///d 匹配一個(gè)數(shù)字 /. 匹配一個(gè) . 加在一起就可以匹配 8. 這樣的東西了 
//[]+ []外面還有個(gè)+ 他會(huì)把[] 里面原來匹配的東西重復(fù) 于是變成了這樣 8.8.8.8. 當(dāng)然這樣也可以 48.1.563 
sys.firefox=ua.match(/firefox//([/d/.]+)/); 
sys.ie=ua.match(/msie/s([/d/.]+)/); 
//msie/s([/d/.]+) 
// ie的就基本跟火狐一樣了 沒什么太大的區(qū)別 
// msie 8.0 /s 就是匹配 msie和8.0 中間的一個(gè)空格 
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); 
//只有當(dāng)前瀏覽器的sys才能使用[1]返回版本號(hào) 
alert(sys.firefox[1]); 
//alert(sys.ie[1]); 
//alert(sys.chrome[1]); 

我遇到一個(gè)問題。我看到高手有這樣寫的 

firefox//([/d.]+)//高手的 
firefox//([/d/.]+)//我的 
//我很疑惑 到底這兩個(gè)有什么區(qū)別。我用很多STR 測(cè)試了。沒看出什么區(qū)別//難道[/d.]+ 跟 [/d/.]+一樣么?求高手解答。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平湖市| 秀山| 佛山市| 龙江县| 辉南县| 黄大仙区| 中西区| 威信县| 济源市| 麻栗坡县| 虹口区| 正阳县| 杭锦旗| 拜泉县| 武穴市| 广饶县| 扎兰屯市| 武陟县| 监利县| 台湾省| 云安县| 台东县| 黄冈市| 宜良县| 密山市| 锦州市| 贵阳市| 梧州市| 法库县| 昆山市| 乌兰浩特市| 即墨市| 辰溪县| 凤凰县| 长乐市| 兴化市| 永丰县| 北碚区| 林周县| 阆中市| 洮南市|