微信判断是否微信访问并获取微信版本号
2015-12-29 阅读 97
由于微信5.0版本后才加入微信支付模块,低版本用户调用微信支付功能将无效。
因此,建议商户通过user agent来确定用户当前的版本号后再调用支付接口。以iPhone版本为例,可以通过user agent可获取如下微信版本示例信息:
```
"Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko) Mobile/9B206 MicroMessenger/5.0"
```
其中5.0为用户安装的微信版本号,商户可以解析以上HTTP头,获取到微信版本号是否高于或者等于5.0。
```
//javascript判断是否是微信访问
function is_weixin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}
```
```
//php判断是否微信访问
function is_weixin(){
return preg_match('/MicroMessenger\/([\d\.]+)/i',$_SERVER['HTTP_USER_AGENT']) ? true : false;
}
```
```
//javascript获取版本号
function weixin_version()
{
var wechatInfo = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i) ;
return wechatInfo[1];
//if( !wechatInfo ) {
// alert("本活动仅支持微信") ;
//} else if ( wechatInfo[1] < "5.0" ) {
// alert("本活动仅支持微信5.0以上版本") ;
//}
}
```
```
//php获取版本号
function weixin_version(){
preg_match('/MicroMessenger\/([\d\.]+)/i',$_SERVER['HTTP_USER_AGENT'],$match);
return $match[1];
}
```
更新于 2023年03月28日