Fork me on GitHub

js比较版本号

 

比较版本v2.2.3和2.1.15大小

//假定字符串的每节数都在5位以下
            function toNum(a){
                var a=a.toString();
                //也可以这样写 var c=a.split(/\./);
                var c=a.split('.');
                var num_place=["","0","00","000","0000"],r=num_place.reverse();
                for (var i=0;i<c.length;i++){ 
                    var len=c[i].length;       
                    c[i]=r[len]+c[i];  
                } 
                var res= c.join(''); 
                return res; 
            } 
            function cpr_version(a,b){ 
                var _a=toNum(a),_b=toNum(b);   
                if(_a==_b) console.log("版本号相同!版本号为:"+a);    
                if(_a>_b) console.log("版本号"+a+"是新版本!"); 
                if(_a<_b) console.log("版本号"+b+"是新版本!"); 
            }
            var a="2.2.3";b="2.1.15";    
            cpr_version(a,b);

结果

 

如果版本号是这样的包括v字母的   var a="v2.10.10";b="v2.12.1";    

我们使用正则表达式做一下处理 稍微改动一下

将上面的var c=a.split('.');替换成var c=a.split(/\D/);即可

 

参考资料

http://www.shaoqun.com/a/235615.aspx

 

posted @ 2016-12-26 17:02  fozero  阅读(8869)  评论(0编辑  收藏  举报