今回はメモ書き程度です。
サイトに来た人がどのデバイスで見ているのか判別してサイトを表示させたい時ってありますよね?
それを判別するのにUser-Agetntを使って判別するというのが一般的かと思います。
私が作成したサイトでは、スマートフォンのみを判別する必要があったので以下の正規表現を用いて判別を行いました。
(iPhone|iPod|Android)+[\w\d\s;,:\_\-\.\/\(\)]+(Mobile)+
簡単に解説すると
iOSの場合、User-Agentには「iPhone」「iPod」「iPad」が記載されています。
そしてすべてに「Mobile」と記載されています。
Androidの場合、スマートフォンでもタブレットでもUser-Agentには「Android」しか記載されていません。
その代わりスマートフォンの場合のみ「Mobile」と記載されています。
よってスマートフォンであるかどうかは”「iPhone」「iPod」「Android」があり、かつ「Mobile」と記載されている”という条件で判別を行います。
表にすると以下
種別(iPhoneやAndroidなど) | Mobile記載 | 判定 | |
---|---|---|---|
iPhone | iPhone | Mobile | スマフォ |
iPod | iPod | Mobile | スマフォ |
iPad | iPad | Mobile | タブレット |
Android(スマフォ) | Android | Mobile | スマフォ |
Android(タブレット) | Android | (なし) | タブレット |