在JS中怎么把 6.0.472.63  用正则表达式变成 6.02.472.063啊?
           ps:  当已经处于这个样子 6.12.472.163 则不用变, 最好能写详细的方法!

解决方案 »

  1.   

    x.xx.xxx.xxx 要的是这样的格式是吧
      

  2.   

    嗯,就是那种格式当得到的是 x.xx.xxx.xx 要变成 x.xx.xxx.xxx 格式,多出来的x要显示为 0 ,当得到的是 x.xx.xxx.xxx 格式,则不改变!
      

  3.   

    一时心急,输入错了第一个格式这个样子:当得到的是 x.x.xxx.xx 要变成 x.xx.xxx.xxx 格式,多出来的x要显示为 0 ,当得到的是 x.xx.xxx.xxx 格式,则不改变!
      

  4.   

    <script type="text/javascript">
    function padLeft(s,i,ch) {
    var temp = i - s.length;
    while(temp>0) {
    s = ch+s;
    temp--;
    }
    return s;
    }
    var i = "6.0.472.63";
    alert(i.replace(/((\d*)\.(\d*)\.(\d*)\.(\d*)/g,function(a,b,c,d,e) {
    return b+"."+padLeft(c,2,'0') +"." + padLeft(d,3,'0') + "." + padLeft(e,3,'0');
    }));
    </script>
      

  5.   

    一定要用正由表达式吗?
    如果用java也可以这样写呀: String str = "6.0.472.63";
    String arr[] = str.split("\\.");
    if(arr[1].length()<2)arr[1]= "0" + arr[1];
    if(arr[2].length() < 3){for(int i=0;i<3-arr[2].length();i++)arr[2] = "0" + arr[2];}
    if(arr[3].length() < 3){for(int i=0;i<3-arr[3].length();i++)arr[3] = "0" + arr[3];}

    if("0".equals(arr[1].substring(1))){
    arr[1] = "02";
    }

    str = "";
    for(String s:arr){
    str = str + s + ".";
    }
    str = str.substring(0, str.length()-1);
    System.out.println(str);
      

  6.   

    这样习惯点。 String.prototype.padLeft = function(i,ch) {
    var that = this;
    var temp = i - that.length;
    while(temp>0) {
    that = ch+that;
    temp--;
    }
    return that;
    }
    var i = "6.0.472.63";
    alert(i.replace(/(\d*)\.(\d*)\.(\d*)\.(\d*)/g, function(a,b,c,d,e) {
    return b+"." + c.padLeft(2,'0') +"." + d.padLeft(3,'0') + "." + e.padLeft(3,'0');
    }));
      

  7.   

    多谢啦~ 主要是写在js中,所以只能采取 cj205 高手的了!
      

  8.   

    其实不一定要用正则 String.prototype.padLeft = function(i,ch) {
            var that = this;
            var temp = i - that.length;
            while(temp>0) {
                that = ch+that;
                temp--;
            }
            return that;
        } var i = "6.0.472.63";
    i = i.split('.');
    i[1] = i[1].padLeft(2,'0');
    i[3] = i[3].padLeft(3,'0');
    alert(i.join('.'));