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日

相关文章

  • 简单介绍Python的Django框架加载模版的方式

    当我们使用Python的Django框架开发Web应用时,通常会使用模版来实现网页的渲染。在Django框架中,模版是基于HTML语言的,我们可以使用Django的内置模版引擎来实现动态数据展示。 Django框架加载模版的方式主要包含以下步骤: 步骤一:创建模版文件 首先需要在项目的根目录下创建一个“templates”文件夹用于存放模版文件,然后在该文件…

    人工智能概览 2023年5月25日
    00
  • Python音频操作工具PyAudio上手教程详解

    Python音频操作工具PyAudio上手教程详解 PyAudio是一个Python模块,用于音频I/O,可用于录音和播放音频数据。在本文中,我们将详细介绍如何使用PyAudio来操作音频数据。 安装PyAudio 我们可以使用pip命令来安装PyAudio模块,打开终端或命令提示符,输入以下命令: pip install pyaudio PyAudio录制…

    人工智能概览 2023年5月25日
    00
  • Django 用户登陆访问限制实例 @login_required

    下面是关于Django用户登录访问限制的完整攻略: 什么是 @login_required 装饰器? @login_required 是一个装饰器,在Django中用于限制某些视图函数只能在用户已经登陆的情况下才能被访问。当未登陆用户试图访问被该装饰器所装饰的视图函数时,会被重定向到登录页面。 @login_required 的使用 在使用 @login_r…

    人工智能概览 2023年5月25日
    00
  • 利用Redis实现SQL伸缩的方法简介

    下面我将为您详细讲解“利用Redis实现SQL伸缩的方法简介”的完整攻略。 简介 Redis是一个开源、内存型的键值对数据库。它具有高性能、可扩展性和可靠性等优点。在大型应用程序中,由于SQL数据库的存储和计算效率限制,使用Redis进行分布式缓存来实现快速读取和写入数据是一种具有可行性的解决方案。 步骤 下面介绍如何使用Redis实现SQL伸缩的方法。 1…

    人工智能概览 2023年5月25日
    00
  • MapReduce中ArrayWritable 使用指南

    MapReduce中ArrayWritable 使用指南 在MapReduce中,ArrayWritable是一个很有用的类,它可以帮助我们更好地处理多个数据类型的输出。本文将介绍如何使用ArrayWritable类,包括如何定义ArrayWritable子类以及如何在MapReduce中使用它。 定义ArrayWritable子类 在使用ArrayWrit…

    人工智能概览 2023年5月25日
    00
  • 详解SpringCloud微服务架构之Hystrix断路器

    详解SpringCloud微服务架构之Hystrix断路器 简介 Hystrix是Netflix开源的一款容错框架,用于提高分布式系统的弹性和可用性。SpringCloud对Hystrix进行了集成,提供了Hystrix的监控与管理功能,方便用户对微服务架构中的服务进行容错处理。 Hystrix的作用 在微服务的架构中,一个服务的宕机或者响应时间过长都会导致…

    人工智能概览 2023年5月25日
    00
  • 浅析在线影视点播巨头Netflix的信息处理架构

    浅析在线影视点播巨头Netflix的信息处理架构 1. Netflix的信息处理架构概述 Netflix作为一家在线影视点播巨头,它的信息处理架构是非常复杂和先进的。简单来说,Netflix的信息处理架构可以分为以下几个层次: 数据采集层:Netflix通过各种方式采集用户行为数据,例如服务器日志、用户访问记录和设备数据等。 实时流处理层:Netflix使用…

    人工智能概览 2023年5月25日
    00
  • Python脚本制作天气查询实例代码

    想要制作一款能够查询天气的Python脚本,我们可以从以下步骤入手: 步骤一:获取天气API 要想制作能够查询天气的Python脚本,我们需要先获取一个天气API。目前市面上的天气API有很多种,比如心知天气、和风天气等。这里我们以心知天气为例,具体操作步骤如下: 进入心知天气官网(https://www.seniverse.com/ ),注册并登录账号。 …

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