zoukankan      html  css  js  c++  java
  • 用JS来判断版本号比如v21.2.2.2和v21.2.2.2.15

    当判断两个版本号的时候,不能单纯的去点然后相互比较,版本比较可能比较特殊,但是分析起来又挺简单的,既然不能直接去点比较,
    那就拆分成数组,一组一组对应的去比,为了能正常的进行比较 如果上一个版本长度小于当前版本设置的长度,则给上一个版本的数组追加一个值为0的字符串
    js:
        $("#curVersion").on("blur",versionFn);
            function versionFn(){
                var curV = $("#curVersion").val(),
                    reqV = $("#reqVersion").val(),
                    curArr=curV.split('.'),
                    reqArr=reqV.split('.'),
                    maxL= Math.max(curArr.length,reqArr.length),
                    index=0,  
                    diff=0;  //当前比较是否相等
                if(reqArr.length!=maxL){//为了能正常的进行比较 如果上一个版本长度小于当前版本设置的长度,则给上一个版本的数组追加一个值为0的字符串
                    reqArr.push("0");
                }
                //console.log(curArr,reqArr);
                while(index<maxL){
                    diff = parseInt(curArr[index])>parseInt(reqArr[index])?1:(parseInt(curArr[index])==parseInt(reqArr[index])?0:-1);
                    if(diff!=0){  
                       break;  
                    }
                    index++;                  
                }
                if (diff>0) {
                    console.log('新')
                }else if (diff==0) {
                    console.log('稳定')
                }else{
                    console.log('旧')
                }
            }
    html:

    旧、<input id="reqVersion" type="text" /><br />
    新、<input id="curVersion" type="text" />

    效果图如下:


    博文乃自己在实际实验中所遇到,并记录下来。如有不妥,请谅解。如果还有更好的解决办法,欢迎来一起探讨。qq邮箱:1198217495@qq.com

      

      

  • 相关阅读:
    String Matching Patterns(字符串匹配模式)
    脚本元素定位实例学习
    vue 实现逻辑分页 以及动态表格自动转行
    vue 打印功能(js)
    vue 打包时使用/deep/ 报错
    vue 去掉后缀名
    VSCode: 提高工作效率的快捷键
    修改 input/textarea 标签属性 placeholder 文本的颜色
    H5超级播放器+FFmpeg实现摄像头在线查看
    Lucene.net常用功能说明
  • 原文地址:https://www.cnblogs.com/bille/p/7641987.html
Copyright © 2011-2022 走看看