通过判断浏览器的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终端"); }