使用userAgent.match()," / i"意思到底?

时间:2016-01-19 16:02:07

标签: javascript agent

可以在以下位置找到示例:

JavaScript how to check User Agent for Mobile/Tablet

Detecting a mobile browser

对于我正在处理的问题,我不会使用Javascript来检测用户代理,因此答案不会直接影响我的问题。但是,在搜索正确的用户代理时,我一直在看" / iPad / i"," / iPhone / i"," / Android / i"等等。什么是" / i"意味着" / iPad"?它只是一个正则表达式,并告诉Javascript函数不区分大小写吗?

我尝试使用google搜索userAgent.match()以获取有关函数本身的更多信息,并查看它接受的参数,但我没有运气。

详细说明:我已经阅读了一些说用户代理嗅探是坏消息的网站,所以如果你想知道我为什么要嗅探用户代理,那就编译一个电子邮件地址列表。 Mac使用逗号,Windows使用分号。我最近意识到iOS也使用逗号,所以我的程序在iPad上破了。所以,我需要更新我的用户代理嗅探代码。

2 个答案:

答案 0 :(得分:3)

这意味着不区分大小写

因此"/iPhone/i"将与iphoneIPHONEIpHOne

匹配

答案 1 :(得分:0)

您可以通过创建RegExp对象的新实例,以两种方式将正则表达式传递给match

var re = new RegExp('pattenToMatch', 'i');
string.match(re);

或使用上面提到的速记 - 注意速记正则表达式周围没有双引号:

string.match(/iPhone/i);

在第一个例子中,第二个参数将包含任何标志 - 例如i表示不区分大小写,g表示全局表示。在第二个示例中,在最后一个斜杠之后包含任何标志。