对于 userAgent.match(),最后的“/i”是什么意思?

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

可以在这些位置找到示例:

JavaScript how to check User Agent for Mobile/Tablet

Detecting a mobile browser

对于我正在处理的问题,我不会使用 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);

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

string.match(/iPhone/i);

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