php判断版本号大小,通用javascript代码判断版本号是否在版本范围之间_javascript技巧...
通用判断版本号是否在两者之间,也可以搭配判断是否大于某版本号,小于取反即可
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中文网,转载请注明出处,感谢您的尊重!
php判断版本号大小,通用javascript代码判断版本号是否在版本范围之间_javascript技巧...相关推荐
- JavaScript 代码判断:PC端和手机端
js代码· 示下: <script> if ((navigator.userAgent.match(/(phone|pad|pod|iPad|iPod|iPhone|ios|Android ...
- 使用JavaScript代码判断输入的字符串是否含有特殊字符和emoji表情代码实例
使用JavaScript代码判断输入的字符串是否含有特殊字符和emoji表情代码实例 js判断代码 js判断代码 reg = /[~#^$@%&!?%*]/gi; if (reg . test ...
- html判断用户名的合法性,javascript简单判断输入内容是否合法的方法
本文实例讲述了javascript简单判断输入内容是否合法的方法.分享给大家供大家参考,具体如下: 关于检测用户输入的内容是否有非法的字符检测实现思路 1.定义合法的字符串(源字符串) 2.获取用户输 ...
- java判断浏览器杂项_java简单代码判断浏览器代码
java简单代码判断浏览器代码 import java.util.regex.Matcher; import java.util.regex.Pattern; public class BrowseT ...
- html判断按键按下,javascript如何判断鼠标左键是否被按下?
怎么在javascript中判断鼠标左键是否被按下?下面本篇文章就来给大家介绍一下使用javascript判断鼠标左键是否被按下的方法,希望对大家有所帮助. 在javascript中,可以通过Even ...
- html 判断是否是数字,javascript如何判断值是否是数字?
javascript如何判断一个值是否是数字?下面本篇文章就来给大家介绍一下使用javascript判断一个值是否是数字的方法,希望对大家有所帮助. 方法1:使用js自带的全局函数isNaN() is ...
- html 判断本地文件存在,javascript怎么判断文件是否存在?
javascript怎么判断文件是否存在?下面本篇文章就来给大家介绍一下利用javascript判断文件是否存在的方法,希望对大家有所帮助. 在JavaScript中,可以通过ActiveXObjec ...
- html判断下选框,javascript怎么判断复选框是否被选中?
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果.那么使用javascript怎么判断复选框是否被选中? ...
- case when判断大于某值_Python 代码判断逻辑太复杂?这里有几条最佳实践和技巧...
文 | piglei@piglei公众号 编辑 | EarlGrey 推荐 | 编程派公众号(ID:codingpy) 编写条件分支代码是编码过程中不可或缺的一部分. 如果用道路来做比喻,现实世界中的 ...
最新文章
- MySQL 的 count(*) 的优化,获取千万级数据表的总行数
- c# 通过字体对话框获取字体名称和字体大小_PS插件神器 :fonTags,超好用的PS字体管理插件(附安装方法)
- turtle库是python的第三方库吗_turtle库的使用
- Java:Java 队列的遍历
- Oracle 19c和20c新特性最全解密
- C++基础:第五章 表达式基础与详述
- 软件可行性研究报告模板
- Citespace、vosviewer 文献信息可视化分析
- 如何删除vc2013上配置好的opencv
- java 旅游网站项目实现_基于jsp的旅游网站a-JavaEE实现旅游网站a - java项目源码
- 用python实现自动化办公------爬取小说天堂所有小说
- 树莓派内网穿透方法大全
- 好好说话之Tcache Attack(2):tcache dup与tcache house of spirit
- javaweb后台区分手机或是电脑登录
- 【数据结构】栈的应用-算术表达式求值#数据结构实验任务书
- 新版骗分导论 - 第7 版
- 台达编码器型号含义_台达光学式旋转编码器
- QT 读ini配置文件
- 计算机学院早操规定,数学和计算机学院学生会体育部早操管理制度.doc
- 2021年Java面经分享:java软件工程师证书多少钱