JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)

要在JavaScript中获取移动设备的型号和系统版本信息,可以使用以下步骤:

  1. 通过navigator.userAgent属性获取设备的用户代理字符串。
  2. 根据不同设备和系统的用户代理字符串,解析出设备型号和系统版本信息。

以下是示例代码:

// 获取设备用户代理字符串
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技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • nginx日常维护常用命令

    下面是详细的nginx日常维护常用命令攻略,包含常用命令以及示例说明。 检查nginx服务状态 如果你需要检查nginx服务是否正在运行,你可以通过运行如下命令检查: systemctl status nginx 上述命令将显示nginx服务状态及其其他相关信息。如果nginx正在运行,您应该看到Active: active (running) (since…

    人工智能概览 2023年5月25日
    00
  • OpenCV实现物体的凸包检测的示例代码

    这篇攻略将会介绍如何使用OpenCV库实现物体的凸包检测。凸包定义为物体的最小凸边界,它可以用于检测物体的形状,边缘等信息。在这里,我们将会使用C++示例代码来进行说明。 步骤一: 安装OpenCV库 使用OpenCV库需要先正确安装配置到本地计算机中。不同操作系统的安装步骤可能略有不同,例如Ubuntu下可以使用以下命令进行安装: sudo apt-get…

    人工智能概论 2023年5月25日
    00
  • python 中pass和match使用方法

    Python 中 pass 和 match 的使用方法 Pass 和 match 是 Python 3.10 中引入的新语法。在这篇文章中,我们将详细讨论这两种语法的用法以及它们在代码中的应用。 Pass 语法 Pass 语法通常用于创建占位符或标记未来的代码位置,表示当前代码块没有任何操作。它在语法上是一条空语句,不执行任何操作。 Pass 的用法 Pas…

    人工智能概论 2023年5月24日
    00
  • Django多进程滚动日志问题解决方案

    Django多进程滚动日志问题解决方案 背景 在使用 Django 进行项目开发时,经常会遇到需要记录日志信息的场景。而在一些高并发、大流量的场景下,为保证系统的高可用性和性能,我们常常会通过多进程的方式来提升系统的处理能力。 但是,在多进程的情况下,如果使用普通的日志记录方式,经常会出现多个进程同时写日志但日志文件内容却不完整的情况,甚至会导致日志覆盖、日…

    人工智能概览 2023年5月25日
    00
  • 如何利用MongoDB存储Docker日志详解

    以下是“如何利用MongoDB存储Docker日志”的详细攻略。 1. 准备工作 在开始存储Docker日志之前,你需要确保已经完成以下准备工作: 安装Docker:你需要安装Docker才能运行容器并生成日志。 安装MongoDB:你需要先安装MongoDB,作为存储Docker日志的数据库。 安装Docker Compose:Docker Compose…

    人工智能概览 2023年5月25日
    00
  • Django实现CAS+OAuth2的方法示例

    下面是Django实现CAS+OAuth2的方法示例的详细攻略。 简介 首先,我们需要了解一下CAS和OAuth2的概念。CAS(Central Authentication Service)是一种单点登录协议,可以让用户在一个网站上进行登录之后,在其他网站上自动登录,避免用户重复输入用户名和密码。OAuth2是一种授权协议,允许第三方应用程序通过授权代表用…

    人工智能概论 2023年5月25日
    00
  • 浅谈一下RabbitMQ、Kafka和RocketMQ消息中间件对比

    浅谈一下RabbitMQ、Kafka和RocketMQ消息中间件对比 消息中间件是现代分布式系统中的重要组件之一。在大规模分布式系统中,消息中间件提供了可扩展性、可靠性和可用性等关键特性,从而有助于构建可靠的,对分布式应用程序透明的基础设施。RabbitMQ、Kafka和RocketMQ是广泛应用的三个消息中间件,本文将重点探讨它们的特点和优劣。 Rabbi…

    人工智能概览 2023年5月25日
    00
  • Ubuntu 20.04系统中安装vncserver的方法步骤

    下面是Ubuntu 20.04系统中安装vncserver的方法步骤的完整攻略: 步骤一:更新系统 在开始安装vncserver之前,先更新系统: sudo apt update sudo apt upgrade 步骤二:安装vncserver 安装vncserver非常简单,只需要执行以下命令即可: sudo apt install tightvncser…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部