2015-10-21 33 views
0

我試圖用一個正則表達式來檢測opera safari firefox瀏覽器而Chrome也有safariuserAgent值,因此我試圖忽略userAgent如下chrome,但它不能正常工作,有人可以幫我嗎?的Javascript正則表達式來檢測瀏覽器

var userAgent = navigator.userAgent.toLowerCase(); 
var isUnsupportedBrowser = (/(opera|safari|firefox|(?!chrome))\/?\s*(\.?\d+(\.\d+)*)/i).test(userAgent); 
+0

您可以使用一些技巧:[browserhack.com](http:// b rowserhacks.com/)瞭解更多信息。 – Alaanor

回答

1

如果你想只匹配不包含chrome的UA這應該工作:

/(?!.*chrome).*/i 

Regex101

如果你真的想驗證該UA包含OperaFirefox,或Safari你可以使用以下內容:

/(?=.*(opera|safari|firefox))(?!.*chrome).*/i 
0

如果你只是想排除Chrome中使用,它的UA相匹配的正則表達式:

var isUnsupportedBrowser = (/Chrome.*Safari/).test(userAgent); 

如果你不是想匹配所有允許UA,提供一些測試用例。