JS判断客户端是否是iOS或者Android端

通过判断浏览器的userAgent,用正则来判断手机是否是 IOS Android 客户端。

代码如下:

    (function(){
        var u = navigator.userAgent;
        var isAndroid =u.indexOf("Android") > -1 || u.indexOf("Adr") > -1; //Android终端
        var isIOS =!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //IOS终端

        console.log(isAndroid);
        console.log(isIOS);
    }()) 

 

*返回值为 true 和 false

*好像Google 浏览器默认为 Android 端。

 

下面一个比较全面的浏览器检查函数,提供更多的检查内容,你可以检查是否是移动端(Mobile、ipad、iphone、微信、QQ等。

来自http://blog.baiwand.com/?post=176

    var browser={
        versions:function(){
            var u = navigator.userAgent, app = navigator.appVersion;
            return {
                trident: u.indexOf('Trident') > -1, //IE内核
                presto: u.indexOf('Presto') > -1, //opera内核
                webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
                mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
                ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
                iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
                iPad: u.indexOf('iPad') > -1, //是否iPad
                webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
                weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
                qq: u.match(/\sQQ/i) == " qq" //是否QQ
            };
        }(),
        language:(navigator.browserLanguage || navigator.language).toLowerCase()
    }

 

使用方法:(例)

    if(browser.versions.android){
        console.log("android终端");
    }

 

posted @ 2017-08-31 11:28  _whys  阅读(545)  评论(0编辑  收藏  举报