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