最近公司在做移动端的拉去本地应用功能的时候需要通过userAgent获取部分数据,给服务器进行数据分析,这一大串直接懵逼了,只能硬着头皮学习正则表达式(之前都是在网上copy下来用,终究是逃不过啊)
var str = 'Mozilla/5.0 (Linux; Android 5.1; HUAWEI TAG-AL00 Build/HUAWEITAG-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043220 Safari/537.36 MicroMessenger/6.5.7.1041 NetType/WIFI Language/zh_CN';
var reg = /^([a-zA-Z]+)\/([\d\.]+)\s+\(([a-zA-Z]+);\s+([a-zA-Z]+)\s+([\d\.]+);\s+([a-zA-Z0-9-_\s]+)\s+Build\/[a-zA-Z0-9-_]+;\s+([a-z]+)\)\s+([a-zA-Z]+)\/([\d\.]+)\s+/;
console.log(reg.exec(str));
console.log('浏览器通用标识', RegExp.$1);
console.log('浏览器通用标识版本号', RegExp.$2);
console.log('平台', RegExp.$3);
console.log('操作系统', RegExp.$4);
console.log('操作系统版本号', RegExp.$5);
console.log('手机型号', RegExp.$6);
console.log('应该是加密方式', RegExp.$7);
console.log('呈现引擎', RegExp.$8);
console.log('呈现引擎版本号', RegExp.$9);
不得不说,一旦上手了还是很好用的
注意:
1.useragent会随着不同的操作系统和浏览器产生变化,以后也可能会增加数据在userAgent,所以不一定会一直准确
2.使用useragent的判断呈现引擎浏览器类型需要注意,useragent会混淆视听,此处仅是拿useragent练正则