//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"));