Как сделать нумерацию в формате: 001
Приветы!
Помогите плз с циклом, как сделать что i перебирала не 1,2,3 .. N а так: 001, 002, 003 ... N
<SCRIPT type=text/javascript>
for (var i = 0; i < 999; i++) {
document.write(
'<img src='+i+'.jpg><br><br>');
}
</SCRIPT>
|
for (var i = 1; i <= 9; i++) {
document.write(
'<img src=00'+i+'.jpg><br><br>');
}
for (var i = 10; i <= 99; i++) {
document.write(
'<img src=0'+i+'.jpg><br><br>');
}
for (var i = 100; i < 999; i++) {
document.write(
'<img src='+i+'.jpg><br><br>');
}
|
Number.prototype.pad = function(length) {
var res = this.toString();
while (res.length < length)
res = '0' + res;
return res;
};
for (var i = 0; i < 999; i++) {
document.write(
'<img src='+i.pad(3)+'.jpg><br><br>');
}
|
Или так:
<SCRIPT type=text/javascript>
function t(x) { return ((x>9)?((x>99)?'':'0'):'00')+x; }
for (var i = 0; i < 999; i++) {
document.write(
'<img src='+t(i)+'.jpg><br><br>');
}
</SCRIPT>
|
String.prototype.leftPad = function(size, ch) {
var result = new String(this);
ch = ch || ' ';
while (result.length < size) {
result = ch + result;
}
return result.toString();
};
alert((1).toString().leftPad(3, '0'));
alert((99).toString().leftPad(3, '0'));
alert((100).toString().leftPad(3, '0'));
update: ох, нифига себе, меня отвлекли на минуту =) не было ж ни одного ответа ) |
Какой тут отзывчивый народ! Респект и большое спасибо всем!
|
До идеала, раз под силу :victory:
Хотелось бы скармливать скрипту строку шаблона http://www.site.ru/img/$$$.jpg - если i 001 http://www.site.ru/img/$$.jpg - если i 01 http://www.site.ru/img/$.jpg - если i 1 А он принтовал <img src=http://www.site.ru/img/i.jpg>br><br> Вот этот самый понятный и короткий, на нем бы:
<SCRIPT type=text/javascript>
function t(x) { return ((x>9)?((x>99)?'':'0'):'00')+x; }
for (var i = 0; i < 999; i++) {
document.write(
'<img src='+t(i)+'.jpg><br><br>');
}
</SCRIPT>
Авторы скриптов выше! Спалите в личку кошельки wmz, скромное по паре баксов зашлю :dance: +$10 за законченный код :) |
не могу понять ваше условие
попробуйте переформулировать [telepatmode] попробую сделать предположение: вам нужна функция, принимающая параметром шаблон в виде строки "http://www.site.ru/img/$$$.jpg" знаки долларов будут заменятся на число в формате 001, так чтобы количество цифр было равно количеству долларов, и все возможные варианты последовательно выводилсь? то есть так: "http://www.site.ru/img/$.jpg" <img src=http://www.site.ru/img/1.jpg>br><br> ...... <img src=http://www.site.ru/img/9.jpg>br><br> "http://www.site.ru/img/$$.jpg" <img src=http://www.site.ru/img/01.jpg>br><br> ...... <img src=http://www.site.ru/img/99.jpg>br><br> "http://www.site.ru/img/$$;.jpg" <img src=http://www.site.ru/img/001.jpg>br><br> ...... <img src=http://www.site.ru/img/999.jpg>br><br> я правильно понял что вам нужно? [/telepatmode] |
Gvozd, да все правильно.
Отличный у Вас модуль «telepatmode» :) |
(function(patern){
var t=function(num)//функцию пришлось взять эту(by Kolyaj), для большей универсальности
{
var res = num.toString();
while (res.length < maxlen)
res = '0' + res;
return res;
}
var maxlen=patern.lastIndexOf('$')-patern.indexOf('$')+1;
var part_1=patern.substring(0,patern.indexOf('$'));
var part_2=patern.substring(patern.lastIndexOf('$')+1,patern.length);
for(var i=0,maxnum='';i<maxlen;i++)
maxnum+='9'
maxnum=+maxnum
for(i=0; i<=maxnum; i++)
{
document.write('<img src="'+part_1+t(i)+part_2+'.jpg" /><br><br>\n');
}
})('http://www.site.ru/img/$$.jpg')//вот тут пишите шаблон
//PS использовал замыкание, чтобы не засорять глобальтную область видимости лишними переменными
PS если будут встречатся еще символы $, кроме как символ подстановки, то скрипт поведет себя "неккорретно" лечится использованием другого уникального символа подстановки |
| Часовой пояс GMT +3, время: 15:41. |