我試圖讓從navigator.appVersion
財產操作系統的詳細信息。
所以我嘗試了regexp.exec()
方法:
/\(([a-z0-9 \.]+)(?=;).*\)|\(([a-z0-9 \.]+)\)/i.exec(navigator.appVersion);
在這裏,在不同的瀏覽器的結果:
歌劇,Safari,Chrome瀏覽器
["(Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)", "Windows NT 6.1", undefined]
IE
"[(Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; rv:11.0)"_"Windows NT 6.1",undefined]
火狐
["(Windows)", undefined, "Windows"]
所以我對正則表達式定義很高興,匹配組得到正確的操作系統的詳細信息。但是......
問題
爲什麼輸出數組中的匹配組得到了跨瀏覽器不同的位置?
什麼是輸出數組中的'undefined'元素?
感謝。現在我明白爲什麼輸入數組中有三個元素。幹!! –