如何检测移动设备并忽略iPad

3

我希望在我的应用程序中将iPad视为非移动设备。

目前,我使用以下表达式来检测移动设备:

request.user_agent =~ /Mobile|webOS/

这些是标准的内容。iPad代理字符串大概长这个样子:

Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B405 Safari/531.21.10

我尝试了以下方法,但都没有成功:

request.user_agent =~ /!(iPad)(Mobile|webOS)/

请告诉我表达式有什么问题。

谢谢。

1个回答

17
你可以使用负向匹配或者... negative matches ...。
request.user_agent =~ /Mobile|webOS/ && !(request.user_agent =~ /iPad/)

做到了,谢谢。我是新手,所以无法投票支持它。但我已经接受它作为答案。如果可能的话,我很想看到这个作为一个单一的正则表达式。 - ron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接