【コピペ可】iOSのバージョンを判定するjavascript関数

javascript

ユーザーエージェントを利用してiOSのバージョンを判定するjavascript関数のスニペットを紹介します。iOSのバージョンによってCSSやjavascriptの対応状況が異なったりしてjavascriptの処理を分けたい場合に活用できます。

iOSのバージョン判定スニペット

function getiOSVersion(){
    return parseFloat(
        ('' + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0,''])[1])
        .replace('undefined', '3_2').replace('_', '.').replace('_', '')
    ) || false;
}

動作確認方法

//iOSバージョンが10.3の時
getiOSVersion()
>> 10.3

//そもそもiOSでない場合
getiOSVersion()
>> false

例えば、デベロッパーツールでiPhone5/SEで使用するとこのような結果になります。

ChromeDevToolsによる動作確認画面