使用 navigator.userAgent 进行 javascript 浏览器检测的语法说明

syntax explanation for javascript browser detection with navigator.userAgent

下面的语法是做什么的?更具体地说,/ 和 i.test(navigator.userAgent) 到底是什么?这是 jquery 的东西吗?谢谢!

    if(( /(ipad|iphone|ipod|android|windows phone)/i.test(navigator.userAgent) )) {

这个:

/(ipad|iphone|ipod|android|windows phone)/i

是一个regular expression literal。在本例中,它是一个匹配任何子字符串 ipadiphoneipodandroidwindows phone 的表达式。末尾的 i 修饰符使其不区分大小写。

这个:

.test(navigator.userAgent)

正在对该对象调用 test() 方法。所以它正在检查 navigator.userAgent 是否包含上述任何字符串。

navigator.userAgent 为您提供包含浏览器详细信息的字符串,OS 等。类似这样的东西

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36

正则表达式检测 是否在字符串中找到它们之一。如果找到条件变为 true else false