如何使用javascript迭代数字001 002 ...

时间:2013-11-18 14:42:01

标签: javascript loops

如何使用javascript迭代数字001 002 ... 010 011 012 ... 100 101 102 ... 我尝试如下,它的工作原因是数字超过100,但是数字低于100,它不起作用。 请教我更好的方法。


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Pages</title>
</head>
<body>

<script language="JavaScript">

document.write('<table width="650"><tr><td>');
    num = 123; 
    var i, j, k = num;
    numlen = num.length; 

    if (numlen == 1 ) {
        for (var i=1; (i<num); i++) { 
        document.write('00'+i+' ');
        }
    }
    else if (numlen == 2) {
        for (var i=1; (i<10); i++) {
        document.write('00'+i+' ');
        }
        for (var i=10; (i<=num); i++) {
        document.write('0'+i+' ');
        }
    }
    else {
        for (var i=1; (i<10); i++) {
        document.write('00'+i+' ');
        }
        for (var i=10; (i<100); i++) {
        document.write('0'+i+' ');
        }
        for (var i=100; (i<=num); i++) {
        document.write(i+' ');
        }
    }
document.write('</td></tr></table>');

</script>

</body>

3 个答案:

答案 0 :(得分:0)

试试这个:

function pad(s) 
{ 
   while (s.length < 3) 
      s = '0' + s; 
   return s; 
};


// your code

for (var i=1; i<num; i++) { 
   document.write(pad(''+i));
}

你不需要(也不应该)不同的循环。一个人会这样做,只需确保用正确数量的前导零填充每个数字,调用“pad”函数。

答案 1 :(得分:0)

for (var i=1; i<1000; i++) {
 document.write(((i+1000)+"").substr(1));
}

答案 2 :(得分:0)

这个怎么样 - 非常有效(比使用while填充更多):

var i;
for (i = 1; i <= upperLimit; i++)
{
   var text = '00' + i;
   document.write(text.substr(text.length - 3, 3);
}