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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM