代码二:
为序号增加前导零。在一些情况下,经常要用到类似00001-10000这种序号,该函数就是用于生成00001这种方式的序号。
/*addFrontZero(n,l) start
 *入口参数:n:需要前补零的数字。
 *          l:号码总长度。
 *返 回 值:总长度为l的字符串,由前导零和n组成。
 *作    用:为数字增加前导零。
 */
function addFrontZero(n,l)
  {return n.toString().length<l?Math.pow(10,l-n.toString().length).toString().replace(/1/,"")+n:n;
  }
//addFrontZero(n,l) end

解决方案 »

  1.   

    代码三:
    显示定长字符串。某些时候(比较长用的在显示帖子标题列表),为了显示的比较美观,常常想仅显示定长的字符串,比如15个e文字母的长度,多余的用省略号代替。如果字符串是e文的话比较简单,如果是中英文混和的,可以试试下边的函数。/*substr(str,n) start
     *入口参数:str:要截取的字符串。
     *          n:要截取的长度。
     *返 回 值:截取后的字符串加省略号("...")。
     *作    用:显示定长字符串,总长度为n+3。
     */
    function substr(str,n)
      {var s = str.replace(/([^\x00-\xff])/g,"\x00$1");
       return (s.length<n)?str:(s.substring(0,n).replace(/\x00/g,'')+"...");
      }
    //substr(str,n) end
      

  2.   

    代码四:
    首次写的全封装的树。肯定大把bug,没有注释。代码太长,系统让我分开发,不如直接去http://eyun.iecn.net/tmp/sys/看效果。btw:演示页中用的框架算代码五好了,感觉比csdn用的这个写得好(自己的东西,吹两句,勿怪:))
      

  3.   

    对你的代码二进行一些改进:
    function addFrontZero(str, n)
    {
      var zero = ""; for(var i=0; i<n; i++) zero += "0";
      return (zero + str).substr(str.toString().length);
    }
    //月份补零
    alert(addFrontZero(new Date().getMonth()+1, 2));alert(addFrontZero(1, 5));因为你用到了 pow 这个函数就会有返回要求的位数超出JS最大量值的隐患