Счетчик от 0 до z
Хочу написать простой счетчик, использующий символы от 0 до z.
Т.е. выглядеть должно примерно так. 000000 000001 000002 ... 000009 00000a 00000b ... 00000z 000010 000011 000012 ... 000019 00001a Событие возникает при клике. Может у кого-то есть готовый вариант. Спасибо заранее! |
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
(function() { var ranges = '0123456789abcdefghijklmnopqrstuvwxyz'; window.from10to36 = function(n) { var len = ranges.length, result = ''; while(n >= len) { result = ranges.charAt(n % len) + result; n = Math.floor(n / len); } result = ranges[n] + result; return result; }; })(); alert( from10to36(55703) ); :) |
Ruslan_xDD, намудрил.
for(var i = 0; i < 1e2; i++) { console.log(i.toString(36)); } |
FINoM, ай, точно. Я просто давно писал для PHP, только там у меня ещё и заглавные буквы. Ну да ладно, может кому пригодится. :)
|
Парни. спасибо, что откликнулись!
Я хочу внести немного ясности: 7xdfcx 7xdfcy 7xdfcz 7xdfd0 7xdfd1 7xdfd2 ...... 7xdfdn ...... 7xdfdz 7xdfe0 7xdfe1 Т.е. смотрите: была у меня изначально число или строка, не важно 7xdfcx. Я прибавляю к этому значению 1 получаю 7xdfcy. Если ли возможность составить такой алгоритм? Я так понимаю это счёт в 36-ричной системе счисления |
T3mnikov,
Учебник <script> for(var i = parseInt('7xdfcx',36), len = i + 50 ; i < len; i++) { document.write(i.toString(36)+'<br>'); } </script> |
function Int36(value) { this.value = this.int = value; }; Int36.prototype = { add: function(n) { this.int += n; this.value = this.int; }, mul: function(n) { this.int *= n; this.value = this.int; }, toString: function() { return this.value; }, valueOf: function() { return this.int; }, get value() { return this._value; }, set value(n) { this._value = Number(n).toString(36); } }; var n = new Int36(10); console.log(n.value); n.add(1); console.log(n.value); n.mul(50); console.log(n.value); n.value = 5000; console.log(n.value); |
:)
<input id="num" name=""> <input name="" type="button" value="go" onclick="num.value=a()" > <script> function fn(a) { a = parseInt(a, 36); return function() { return (a++).toString(36) } }; var a = fn('7xdfcx'); </script> |
Всем спасибо!
рони, огромное спасибо! То, что надо! Я даже не знал, что parseInt() умеет так! |
Часовой пояс GMT +3, время: 14:53. |