欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

通过UserAgent判断智能手机(设备,Android,IOS)【转】

程序员文章站 2022-06-02 21:19:12
...
///<summary>  
    /// 根据 Agent 判断是否是智能手机  
    ///</summary>  
    ///<returns></returns>  
    public static bool CheckAgent()  
    {  
        bool flag = false;  
  
        string agent = HttpContext.Current.Request.UserAgent;  
        string[] keywords = { “Android”, “iPhone”, “iPod”, “iPad”, “Windows Phone”, “MQQBrowser” };  
  
           //排除 Windows 桌面系统  
            if (!agent.Contains(“Windows NT”) || (agent.Contains(“Windows NT”) && agent.Contains(“compatible; MSIE 9.0;”)))  
            {  
                //排除 苹果桌面系统  
                if (!agent.Contains(“Windows NT”) && !agent.Contains(“Macintosh”))  
                {  
                    foreach (string item in keywords)  
                    {  
                        if (agent.Contains(item))  
                        {  
                            flag = true;  
                            break;  
                        }  
                    }  
                }  
            }  
    
        return flag;  
    }  


代码解释:

1. !agent.Contains(“Windows NT”) && !agent.Contains(“Macintosh”) 排除Window 桌面系统 和 苹果桌面系统

2. ”Android“, “iPhone”, “iPod”, “iPad”, “Windows Phone”, “MQQBrowser” 这些是判断智能设备Agent中的关键词

3. MQQBrowser 为 QQ 手机浏览器,QQ 手机的Agent 比较特殊,所以单独判断



下面搜集的一些Agent,话说找到这么多的智能设备,好不容易啊:

Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5

MQQBrowser/25 (Linux; U; 2.3.3; zh-cn; HTC Desire S Build/GRI40;480*800)

Mozilla/5.0 (linux; U; android 2.3.3; zh-cn; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413

Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8J2

Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1

Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; OMNIA7)      —-SAMSUNG MP7

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)          —-HTC MP7



改写为js

/**
* 验证是否为智能手机
*/
$.checkMobile = function(){
     var flag = false; 
    var agent = navigator.userAgent.toLowerCase(); 
    var keywords = [ “android”, “iphone”, “ipod”, “ipad”, “windows phone”, “mqqbrowser” ]; 
   
    //排除 Windows 桌面系统 
    if (!(agent.indexOf(“windows nt”) > -1) || (agent.indexOf(“windows nt”) > -1 && agent.indexOf(“compatible; msie 9.0;”) > -1)) { 
        //排除苹果桌面系统 
        if (!(agent.indexOf(“windows nt”) > -1) && !agent.indexOf(“macintosh”) > -1 ) { 
            for (var item in keywords) { 
                if (agent.indexOf(item) > -1 ) { 
                    flag = true; 
                    break; 
                } 
            } 
        } 
    } 
    return flag;
}


window PC

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0   —FF
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/53  —Chrome

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7  —-safari

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; MDDS; InfoPath.2; Alexa Toolbar)   —-IE

Opera/9.80 (Windows NT 6.1; WOW64; U; zh-cn) Presto/2.10.229 Version/11.64  —opera

参考自:https://blog.csdn.net/Mr_dong_ya_yun/article/details/75386604