对于userAgent.match(),末尾的“/i”是什么意思

With userAgent.match(), what does the "/i" mean at the end?

本文关键字:意思 是什么 match userAgent 对于      更新时间:2023-09-26

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

JavaScript 如何检查手机/平板电脑的用户代理

检测移动浏览器

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

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

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

这意味着不区分大小写

所以"/iPhone/i"将与iphoneIPHONEIpHOne匹配

您可以通过

两种方式将正则表达式传递给match,方法是创建 RegExp 对象的新实例:

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

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

string.match(/iPhone/i);

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