要在JavaScript中获取移动设备的型号和系统版本信息,可以使用以下步骤:
- 通过
navigator.userAgent
属性获取设备的用户代理字符串。 - 根据不同设备和系统的用户代理字符串,解析出设备型号和系统版本信息。
以下是示例代码:
// 获取设备用户代理字符串
var userAgent = navigator.userAgent;
// 判断用户代理字符串中是否包含'iPhone',若包含则表示是iPhone手机
if (userAgent.indexOf('iPhone') > -1) {
// 解析出iPhone的型号和版本信息
var regex = /iPhone\s(OS\s)?(\d[\d_]+)+/g;
var matches = regex.exec(userAgent);
if (matches) {
var model = 'iPhone';
var version = matches[2].replace(/_/g, '.');
console.log('Device model: ' + model);
console.log('iOS version: ' + version);
}
}
// 判断用户代理字符串中是否包含'Android',若包含则表示是Android手机
else if (userAgent.indexOf('Android') > -1) {
// 解析出Android的型号和版本信息
var regex = /Android\s(\d[\d.]+)+;/g;
var matches = regex.exec(userAgent);
if (matches) {
var version = matches[1];
// 判断设备型号
if (userAgent.indexOf('Mi') > -1) {
var model = 'Xiaomi';
} else if (userAgent.indexOf('HUAWEI') > -1) {
var model = 'HUAWEI';
} else if (userAgent.indexOf('OPPO') > -1) {
var model = 'OPPO';
} else if (userAgent.indexOf('vivo') > -1) {
var model = 'vivo';
} else {
var model = 'Other';
}
console.log('Device model: ' + model);
console.log('Android version: ' + version);
}
}
以上代码可以解析出iPhone和Android手机的型号和系统版本信息,并在控制台输出。解析过程中使用了正则表达式进行字符串匹配。
示例1:用户代理字符串包含iPhone和iOS版本信息
Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Mobile/15E148 Safari/604.1
// 输出
Device model: iPhone
iOS version: 14.2
示例2:用户代理字符串包含Android和华为手机的型号和系统版本信息
Mozilla/5.0 (Linux; Android 10; VOG-L29 Build/VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36
// 输出
Device model: HUAWEI
Android version: 10
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统) - Python技术站