如何在忽略IPad的同时检测移动设备

ron*_*ron 3 ruby-on-rails

我想在我的应用程序中忽略IPad作为移动设备

我目前正在使用此表达式来检测移动设备:

request.user_agent =~ /Mobile|webOS/
Run Code Online (Sandbox Code Playgroud)

标准的东西.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
Run Code Online (Sandbox Code Playgroud)

我试过以下但没有成功:

request.user_agent =~ /!(iPad)(Mobile|webOS)/
Run Code Online (Sandbox Code Playgroud)

请让我知道表达式有什么问题.

谢谢.

Sim*_*tti 17

您可以使用否定匹配

request.user_agent =~ /Mobile|webOS/ && !(request.user_agent =~ /iPad/)
Run Code Online (Sandbox Code Playgroud)