这样习惯点。 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'); }));
多谢啦~ 主要是写在js中,所以只能采取 cj205 高手的了!
其实不一定要用正则 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('.'));
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>
如果用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);
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');
}));
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('.'));