JS_判断打开的是什么手机品牌,判断是否是手机,平板,pc

判断业务是否是 iphone、华为、小米、oppo、view、三星 打开
手机品牌userAgent库 http://www.fynas.com/ua

js 复制代码
function judgeBrand(sUserAgent) {
	var isIphone = sUserAgent.match(/iphone/i) == 'iphone';
	var isHuawei = sUserAgent.match(/huawei/i) == 'huawei';
	var isHonor = sUserAgent.match(/honor/i) == 'honor';
	var isOppo = sUserAgent.match(/oppo/i) == 'oppo';
	var isOppoR15 = sUserAgent.match(/pacm00/i) == 'pacm00';
	var isVivo = sUserAgent.match(/vivo/i) == 'vivo';
	var isXiaomi = sUserAgent.match(/mi\s/i) == 'mi ';
	var isXiaomi2s = sUserAgent.match(/mix\s/i) == 'mix ';
	var isRedmi = sUserAgent.match(/redmi/i) == 'redmi';
	var isSamsung = sUserAgent.match(/sm-/i) == 'sm-';
	var isLG = sUserAgent.match(/lg/i) == 'lg';
	if (isIphone) {
		return 'iPhone';
	} else if (isHuawei || isHonor) {
		return 'Huawei';
	} else if (isOppo || isOppoR15) {
		return 'Oppo';
	} else if (isVivo) {
		return 'vivo';
	} else if (isXiaomi || isRedmi || isXiaomi2s) {
		return 'mi';
	} else if (isSamsung) {
		return 'Samsung';
	} else if (isLG) {
		return 'LG';
	} else {
		return '其他型号手机';
	}
}

var brand = judgeBrand(navigator.userAgent.toLowerCase());

判断是否是手机,平板,pc

js 复制代码
function checkAgent() {
	var sUserAgent = navigator.userAgent.toLowerCase();
	var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
	var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
	var bIsMidp = sUserAgent.match(/midp/i) == "midp";
	var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
	var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
	var bIsAndroid = sUserAgent.match(/android/i) == "android";
	var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
	var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
	if (!(bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM || bIsIpad)) {
		return 'pc';
	} else if(bIsIpad){
		return 'pad';
	}else{
		return 'phone';
	}
}

注:以上functioncheckAgent,在使用华为P20 Pro 默认浏览器打开时,会被误判为PC。因为在华为P20 Pro的默认浏览器上,并没有重写userAgent,拿到的userAgent跟在PC上拿到的一样。目前只发现华为机型的默认浏览器有这个错误

相关推荐
Highcharts.js30 分钟前
常见报错排雷指南2:导出失败的官方解法
javascript·react.js·ecmascript·highcharts·可视化图表·导出模块失败·导出服务
梦想平凡1 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
杨芋爽3 小时前
管理后台列表页为什么一直转圈?从一次 1+N 请求扇出聊聊前端性能优化
javascript
_山海4 小时前
Bun入门指南
前端·javascript·后端
YHL4 小时前
🎯 JavaScript 单例模式(Singleton Pattern)—— 从理论到实战
javascript·设计模式
vx_Biye_Design5 小时前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
晴天165 小时前
VSCodium 项目介绍
前端·javascript·vscode
世岩清上5 小时前
展厅数字内容同质化严重,怎样打造专属叙事风格?
大数据·前端·javascript·人工智能·html·音视频·展厅改造
持敬chijing5 小时前
Web前后端开发-JavaScript 入门教程
开发语言·前端·javascript