js实现软件版本号的比较

//js实现软件版本号的比较
		//随机举两个例子 pc2.4.3 或者pc3.5.6
		/**
		 * 输入 v1,v2
		 * 返回true代表v1比v2的版本新,false则代表v1与v2相等或者v1<v2;
		*/
		function versionCompare(v1,v2){
			//去掉收尾空格
			v1 =v1.replace(/(^\s+)|(\s+$)/gi,"");
			v2 = v2.replace(/(^\s+)|(\s+$)/gi,"");
			//空检查
			if(!v1 || !v2){
				return;
			}
			//截取v1,v2中的版本数字
			v1 = /\d(\.|\d)*\d/gi.exec(v1)[0];
			v2 = /\d(\.|\d)*\d/gi.exec(v2)[0];
			//版本比较,我们分为三个数组然后比较
			var arr1 = v1.split(‘.‘);
			arr1 = arr1.map(function(item){
				parseInt(item);
			});
			var arr2 = v2.split(‘.‘);
			arr2 = arr2.map(function(item){
				parseInt(item);
			});
			if(arr1[0]>arr2[0]){
				return true;
			}else if(arr1[0]=arr2[0]){
				if(arr1[1]>arr2[1]){
					return true;
				}else if(arr1[1]=arr2[1]){
					if(arr1[2]>arr2[2]){
						return true;
					}else if(arr1[2] = arr2[2]){
						return false;
					}
				}
			}
			return false;
		}
		console.log(versionCompare("pc2.5.6","m2.43.9"));

  

时间: 2024-08-05 19:05:51

js实现软件版本号的比较的相关文章

软件版本号规范与命名原则

1. 软件版本阶段说明 * Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改.* Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI.* RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几.* Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终

项目管理 软件版本号的命名格式和规则

最近公司发布测试版,涉及软件的版本号管理,发现不同公司的版本号管理的方法都不一样,各有千秋.在这里展示个人认为还不 错的版本号管理的方法. [1]版本命名规范 软件版本号有四部分组成: 第一部分为主版本号, 第二部分为次版本号, 第三部分为修订版本号, 第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有五种,分别为base.alpha.beta .RC . release. [2]软件版本阶段说明 Base:  此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中

[转]软件版本号扫盲——Beta RC Preview release等

1.软件版本阶段说明 *Alpha版:此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改. *Beta版:该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI. *RC版:该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几. *Release版:该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正

android获取当前软件版本号号和版本号名称

<span style="font-size:18px;">/** * 获取本地软件版本号 */ public static int getLocalVersion(Context ctx) { int localVersion = 0; try { PackageInfo packageInfo = ctx.getApplicationContext() .getPackageManager() .getPackageInfo(ctx.getPackageName(),

软件版本号命名规则

  1.版本命名规范 软件版本号有四部分组成,第一部分为主版本号,第二部分为次版本号,第三部分为修订版 本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有五种,分别为base.alpha.beta .RC . release   2.软件版本阶段说明 Base:此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是    页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构. Alpha :软件的初级版本,表示该软件在此阶段以实现软件功能为主,通常只在软件

js 获取浏览器版本号

1.在web开发中,会常常让你推断当前使用的是那个浏览器及浏览器的那个版本号,依据浏览器版本号来调整CSS的样式, 使在web界面在各个浏览器展现达到最佳的效果,以下是获取当前浏览器的代码: getBrowserVersion:function(){ var agent = navigator.userAgent.toLowerCase(); var arr=[]; var Browser=""; var Bversion=""; var verinNum=&quo

软件版本号编写规范及说明

1.软件版本阶段说明 Base版: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构.Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改.Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI.RC版: 该版本已经相当成熟了,基

软件版本号规范和比较

1. 软件版本阶段说明 Base版: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构.Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改.Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI.RC版: 该版本已经相当成熟了,

C++实现软件版本号比较

软件版本号的检查和比较是我们经常要用到的一个功能,我自己写了一个函数,用起来还是挺方便的. // 函数功能:执行字符串形式的版本比较 // 返回值:比较成功返回真,比较失败返回假 // 比较结果保存到nResult中 // lpszVer1高于lpszVer2时nResult的值为1 // lpszVer1低于lpszVer2时nResult的值为-1 // lpszVer1等于lpszVer2时nResult的值为0 // 使用说明:安全的用法应当是先对函数返回值进行判断,返回为真时再检查nR