我一个起始票号00001
张数2
结束票号应该是自动计算处理的00002我使用eval("起始票号")+2-1 =2
我想得到的是00002,请问有什么好的方法
不是要计算00001的长度,然后写00000,替换成00002吧

解决方案 »

  1.   

    eval("起始票号")+2-1 =2---------
    ???
    你的意思是eval("起始票号")=1么?
    没看明白
      

  2.   

    len = 5;
    pad = "";
    for(var i=0;i<len;i++) pad += "0";
    alert(pad);
    no = 2;
    no1 = "00001";
    no = parseInt(no1) + no -1;
    no = pad + no;
    no = no.substr(no.length-len,len);
    alert(no)
      

  3.   

    eval("起始票号")+2-1 =2
    对的就假设是00001好了然后计算出来的结果是2.。。
      

  4.   

    <SCRIPT LANGUAGE="JavaScript">function mm(start, n)
    {
      var s = start * 1;
      var a = [start]
      for(var i=1; i<n; i++)
      {
        var k = new Array(start.length+1).join("0") + (i+s);
        a[a.length] = k.substr((i+"").length);
      }
      return a;
    }var start = "00001";
    alert(mm(start, 18));
    </SCRIPT>
      

  5.   

    楼上alert(mm("99", 2));alert(mm("99999", 2));
    好像不对的。。
      

  6.   

    function fPadStr(sSrc, sPad, nLen)
     {// shawl.qiu script
      if(!sSrc)return false;
      if(!sPad)sPad='0';
      if(!nLen)nLen=2;
      sSrc+='';
      if(sSrc.length>=nLen)return sSrc;
      sPad=new Array(nLen+1).join(sPad);
      var re=new RegExp('.*(.{'+(nLen)+'})$');
      return (sPad+sSrc).replace(re,'$1');
     } // end function fPadStr