用js判断输入的字符串中是否包含数字,要是包含数字就判断数字长度是否小于6位,如果小于就在数字前面补0就可以了
例如 传入 "我爱125中国"
     传出 "我爱000125中国"

解决方案 »

  1.   


    var s = "测123试1测123456试";
    alert(s.replace(/(\d+)/ig,function($1){return $1.length<6? "00000".substr(0,(6-$1.length))+$1: $1;}));
      

  2.   


    比较笨的方法,没有上面的巧妙
    function aa() {
    var str = "测试1234测试45测试1234566TTT";
    var tmpStr = "";//用来保存原字符串中的数字串 for(var i=0; i<str.length; ++i) {
    if(str[i]>='0' && str[i]<='9') {
    tmpStr = tmpStr + str[i];//读取每一个数字,然后组成数字串
      }
      else {//如果读取的不再是数字,并且tmpStr的长度在0--6之间,则对tmpStr中的数字串补0
       if(tmpStr.length>0 && tmpStr.length<6) {
       var size = 6 - tmpStr.length;//计算需要补几个0
       var tmp = "";
       while(size>0) {
       tmp = tmp + "0";
       size--;
       }
       tmp = tmp + tmpStr;
       str = str.replace(tmpStr, tmp);//将补0后的数字串替代原有数字串
       i = i+6-tmpStr.length;//由于str增加了(6 - tmpStr.length)个0,那么i的值就应该加上(6 - tmpStr.length)
       tmpStr="";
       }
      }
    }
    alert(str);
    }