Как сделать нумерацию в формате: 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, время: 16:43. |