当前位置:   article > 正文

php判断版本号大小,通用javascript代码判断版本号是否在版本范围之间_javascript技巧...

版本号大小 php

通用判断版本号是否在两者之间,也可以搭配判断是否大于某版本号,小于取反即可

PS:需确保版本规范一致,比如都是.号分割的n位版本号

var APP = {};

//判断指定版本是否在版本范围之间,需确保版本规范一致;比如 (..,..,..)

APP.betweenVersion = function(curr,start,end,separator){

if(curr == start || curr == end){

return true;

}

var separator = separator || '.';

var curr = curr.split(separator);

var start = start.split(separator);

var end = end.split(separator);

var gtStart = false;

var ltEnd = false;

gtStart = APP.gtTargetVersion( APP.compareVersionEle(curr,start) );

if(!gtStart){

return false;

}

return !APP.gtTargetVersion( APP.compareVersionEle(curr,end) );

};

APP.compareVersionEle = function(curr,target){

var len = curr.length;

var temp = [];

var left,right;

for(var i=;iright){

temp.push();

}else{

temp.push(-);

}

}

return temp;

};

APP.gtTargetVersion = function(arr){

var res = true;

var curr,next;

for(var i=,len=arr.length;inext ){

if(curr == ){

res = false;

break;

}

if(curr == ){

res = true;

break;

}

}else if(curr == next){

if(curr == -){

res = false;

break;

}

if(curr == ){

res = true;

break;

}

}else{

if(curr == -){

res = false;

break;

}

if(curr == ){

res = true;

break;

}

}

}

// console.log(res);

return res;

}

var res = APP.betweenVersion('...','...','...','.');

console.log(res);

当前项目有需要判断指定版本是否在两个版本之间这个需求,百度谷歌找了一圈,代码都是有局限性的,无法通用,甚至是一堆错误的东西转来转去......

当前方法有两个要点,一个是需要将切开的版本号转为数值型数组,还有一个是对比大小的时候转为 -1 0 1 三个数值的对比,这样,无论隔开的版本号有多大,总体分为几段,都可以正确比对.

下面给大家分享javascript 检测浏览器类型和版本的代码

对象/特征检测法

该方法是一种判断浏览器能力(而非浏览器的确切型号)的通用方法。大部分JS专家认为这个方法最合适,因为他们认为按照该方法所编写的脚本是经得起未来考验的。

//获取IE浏览器的版本号

//返回数值,显示IE的主版本号

function getIEVer() {

var ua = navigator.userAgent; //获取用户端信息

var b = ua.indexOf("MSIE "); //检测特殊字符串"MSIE "的位置

if (b < 0) {

return 0;

}

return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本号字符串,并转换为数值

}

alert(getIEVer()); //返回数值8(我的IE8)

如果更关注浏览器的能力而不在乎它实际的身份,就可以使用这种方法。

user-agent字符串检测法

user-agent字符串提供了关于Web浏览器的大量信息,包括浏览器的名称和版本。

var ua = navigator.userAgent.toLowerCase(); //获取用户端信息

var info = {

ie: /msie/.test(ua) && !/opera/.test(ua), //匹配IE浏览器

op: /opera/.test(ua), //匹配Opera浏览器

sa: /version.*safari/.test(ua), //匹配Safari浏览器

ch: /chrome/.test(ua), //匹配Chrome浏览器

ff: /gecko/.test(ua) && !/webkit/.test(ua) //匹配Firefox浏览器

};

(info.ie) && alert("IE浏览器");

(info.op) && alert("Opera浏览器");

(info.sa) && alert("Safari浏览器");

(info.ff) && alert("Firefox浏览器");

(info.ch) && alert("Chrome浏览器");

通常我们做得最多的,就是判断是否是IE了,其它几种浏览器一般都会符合标准.有些客户只需要符合IE和FF就已经满足了.那么我们可以这样做:

var isIE = (navigator.appName == "Microsoft Internet Explorer");

判断IE远远不止上面一种方法,可以使用IE更多特有的东西,如:window.ActiveXObject,document.all等,这些都属于对象/特征检测法了!通常要在不同的浏览器上写不同的样式(因为IE样式解析也各有不同),那就得判断版本了.可以这样做

//获取IE浏览器的版本号

//返回数值,显示IE的主版本号

function getIEVer() {

var ua = navigator.userAgent; //获取用户端信息

var b = ua.indexOf("MSIE "); //检测特殊字符串"MSIE "的位置

if (b < 0) {

return 0;

}

return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本号字符串,并转换为数值

}

alert(getIEVer()); //返回数值7

检测操作系统:

var isWin = (navigator.userAgent.indexOf("Win") != -1); //如果是Windows系统,则返回true

var isMac = (navigator.userAgent.indexOf("Mac") != -1); //如果是Macintosh系统,则返回true

var isUnix = (navigator.userAgent.indexOf("X11") != -1); //如果是Unix系统,则返回true

var isLinux = (navigator.userAgent.indexOf("Linux") != -1); //如果是Linux系统,则返回true

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/312415
推荐阅读
相关标签
  

闽ICP备14008679号