比較版本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