判断浏览器是否为手机端

function checkagent(ua) {
    let isWindowsPhone = /(?:Windows Phone)/.test(ua),
        isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,
        isAndroid = /(?:Android)/.test(ua),
        isFireFox = /(?:Firefox)/.test(ua),
        isChrome = /(?:Chrome|CriOS)/.test(ua),
        isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)),
        isPhone = /(?:iPhone)/.test(ua) && !isTablet,
        isPc = !isPhone && !isAndroid && !isSymbian,
        isWechat = /(?:MicroMessenger)/.test(ua);
    let equipment = {
        isTablet: isTablet,
        isPhone: isPhone,
        isAndroid: isAndroid,
        isPc: isPc,
        isWechat:isWechat
    };
    if (equipment.isAndroid || equipment.isPhone || equipment.isWechat) {
        return 0;
    } else if (equipment.isTablet) {
        return 1;
    } else if (equipment.isPc) {
        return 2;
    }
}

/*
返回值:
0 手机
1 平板
2 pc
*/
checkagent(ctx.request.header["user-agent"])
console.log(ctx.request.header["user-agent"])
//'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',

原理就是使用正则判断请求头里面的字段

前端获取浏览器基本信息(浏览器版本号)

console.log(navigator.userAgent.toLowerCase());

 

posted @ 2022-10-31 15:32  默永  阅读(272)  评论(0编辑  收藏  举报