此正则表达式将匹配 2 和 3 段,如 4.0 或 6.1.3
/\b[0-9]+_[0-9]+(?:_[0-9]+)?\b/
Javascript 示例:
> navigator.userAgent
"Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B146"
> navigator.userAgent.match(/\b[0-9]+_[0-9]+(?:_[0-9]+)?\b/);
["6_1_2"]
请注意,这也可能与其他设备匹配,因此请确保在 iOS 设备上进行测试。
这将返回 Mac 上的 OS X 版本。
> navigator.userAgent
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1"
> navigator.userAgent.match(/\b[0-9]+_[0-9]+(?:_[0-9]+)?\b/);
["10_8_4"]
您可能还想使用 替换 ,_
甚至使用 将其转换为.
数组。.replace(/_/g,'.');
.split('_');
_iOSDevice = !!navigator.platform.match(/iPhone|iPod|iPad/);
if(_iOSDevice)
_iOSVersion = (navigator.userAgent.match(/\b[0-9]+_[0-9]+(?:_[0-9]+)?\b/)||[''])[0].replace(/_/g,'.');