js实现软件版本号的比较
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <br> //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" )); |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步