linux如何查看puma版本,js如何判断操作系统版本

本文介绍了一种通过浏览器用户代理字符串来识别操作系统名称及其版本的方法。涵盖了多种Windows版本、Mac OS的不同版本以及部分Linux发行版的识别逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var osData = [

{ name: 'Windows 2000', group: 'windows_server', identifier: 'Windows NT 5.0', version: '5.0' },

{ name: 'Windows XP', group: 'windows', identifier: 'Windows NT 5.1', version: '5.1' },

{ name: 'Windows 2003', group: 'windows_server', identifier: 'Windows NT 5.2', version: '5.2' },

{ name: 'Windows Vista', group: 'windows', identifier: 'Windows NT 6.0', version: '6.0' },

{ name: 'Windows 7', group: 'windows', identifier: 'Windows NT 6.1', version: '7.0' },

{ name: 'Windows 8', group: 'windows', identifier: 'Windows NT 6.2', version: '8.0' },

{ name: 'Windows 8.1', group: 'windows', identifier: 'Windows NT 6.3', version: '8.1' },

{ name: 'Windows 10', group: 'windows', identifier: 'Windows NT 10.0', version: '10.0' },

{ name: 'Windows 2008', group: 'windows_server', identifier: 'Windows NT 6.0; WOW64', version: '6.0' },

{ name: 'Windows 2008', group: 'windows_server', identifier: 'Windows NT 6.1; WOW64', version: '6.1' },

{ name: 'Windows 2012', group: 'windows_server', identifier: 'Windows NT 6.3; Win64', version: '6.3' },

{ name: 'Chrome OS', group: 'windows', identifier: 'CrOS' },

{ name: 'Mac OS X Capitan', group: 'mac', identifier: 'Mac OS X (10([_|\.])11([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Yosemite', group: 'mac', identifier: 'Mac OS X (10([_|\.])10([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Mavericks', group: 'mac', identifier: 'Mac OS X (10([_|\.])9([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Mountain Lion', group: 'mac', identifier: 'Mac OS X (10([_|\.])8([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Lion', group: 'mac', identifier: 'Mac OS X (10([_|\.])7([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Snow Leopard', group: 'mac', identifier: 'Mac OS X (10([_|\.])6([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Leopard', group: 'mac', identifier: 'Mac OS X (10([_|\.])5([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Tiger', group: 'mac', identifier: 'Mac OS X (10([_|\.])4([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Panther', group: 'mac', identifier: 'Mac OS X (10([_|\.])3([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Jaguar', group: 'mac', identifier: 'Mac OS X (10([_|\.])2([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Puma', group: 'mac', identifier: 'Mac OS X (10([_|\.])1([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS X Cheetah', group: 'mac', identifier: 'Mac OS X (10([_|\.])0([0-9_\.]*))', versionSeparator: '[_|\.]' },

{ name: 'Mac OS', group: 'mac', identifier: 'Mac OS' },

{ name: 'Ubuntu', group: 'linux_server', identifier: 'Ubuntu', versionIdentifier: 'Ubuntu/([0-9\.]*)' },

{ name: 'CentOs', group: 'linux_server', identifier: 'CentOs', versionIdentifier: 'CentOs/([0-9\.]*)' },

{ name: 'Debian', group: 'linux_server', identifier: 'Debian' },

{ name: 'Gentoo', group: 'linux_server', identifier: 'Gentoo' },

{ name: '国产系统', group: 'linux', identifier: 'Linux' }

];

var setOsData = function (os) {

var userAgent = navigator.userAgent.toLowerCase();

// Check browser type

for (i in osData) {

if (osData.hasOwnProperty(i)) {

var osRegExp = new RegExp(osData[i].identifier.toLowerCase());

var osRegExpResult = osRegExp.exec(userAgent);

if (osRegExpResult != null) {

os.name = osData[i].name;

os.group = osData[i].group;

break;

}

}

}

return true;

};

var setOsVersion = function (os, version, separator) {

if (separator.substr(0, 1) == '[') {

var splitVersion = version.split(new RegExp(separator, 'g'), 2);

} else {

var splitVersion = version.split(separator, 2);

}

if (separator != '.') {

version = version.replace(new RegExp(separator, 'g'), '.');

}

os.fullVersion = version;

// Major version

if (splitVersion[0]) {

os.majorVersion = parseInt(splitVersion[0]);

}

// Minor version

if (splitVersion[1]) {

os.minorVersion = parseInt(splitVersion[1]);

}

return true;

};

var os = {};

setOsData(os);

console.log(os.name);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值