JSでAndroid携帯、iPhoneなどを判別する方法


スマートフォンページと、PCページをつくったはいいけど、
それぞれの専用ページにはそれぞれ適した端末からアクセスして欲しい。
そんな時はJavascriptでUserAgent判定して、以下のように記載します。

以下、PCサイトにスマートフォンからアクセスしてきた場合SPページに飛ばす処理。

<script type="text/javascript">
if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || (navigator.userAgent.indexOf('Android') > 0 && navigator.userAgent.indexOf('Mobile') > 0)) {
 location.href = './sp/';
 </script>


ポイントは、Androidのみでの判定とするとAndroidタブレットも対象に入ってしまうため、Android携帯のみの判定を追加していること。

<script type="text/javascript">
(navigator.userAgent.indexOf('Android') > 0 && navigator.userAgent.indexOf('Mobile') > 0)) {
 location.href = './sp/';
 </script>



判定式をまとめるとこんな感じ。

        if (navigator.userAgent.indexOf('iPhone') > 0){
                document.write("iPhoneっす");
        }
        if (navigator.userAgent.indexOf('iPod') > 0){
                document.write("iPodっす");
        }
        if (navigator.userAgent.indexOf('Android') > 0){
                document.write("Android総称っす");
        }
        if (navigator.userAgent.indexOf('Android') > 0 && navigator.userAgent.indexOf('Mobile') == -1){
                document.write("Androidタブレットっす");
        }
        if (navigator.userAgent.indexOf('Android') > 0 && navigator.userAgent.indexOf('Mobile') > 0){
                document.write("Android携帯っす");
        }