Функция uniqid в JavaScript
В PHP есть шикарная функция uniqid. Она позволяет сгенерировать случайный идентификатор состоящий из цифр и букв, основанный на текущем времени. Выглядит он примерно вот так 526439af76c56
.
Я очень часто пользуюсь ей (функцией), когда делаю что-то на ПХП. Конечно же мне очень хватало этой функции в JavaScript, поэтому я поискал в интернете, нашел один неплохой вариант, немного его подправил и вуаля:
(function () {
this.uniqid = function (pr, en) {
var pr = pr || '', en = en || false, result, us;
this.seed = function (s, w) {
s = parseInt(s, 10).toString(16);
return w < s.length ? s.slice(s.length - w) :
(w > s.length) ? new Array(1 + (w - s.length)).join('0') + s : s;
};
result = pr + this.seed(parseInt(new Date().getTime() / 1000, 10), 8)
+ this.seed(Math.floor(Math.random() * 0x75bcd15) + 1, 5);
if (en) result += (Math.random() * 10).toFixed(8).toString();
return result;
};
})();
Использовать можно:
- так
uniquid()
- результат52643b81917b3
- или вот так
uniqid('prefix_')
- результатprefix_52643bb682821
- и даже вот так
uniqid('prefix_', true)
- результатprefix_52643bdf3b1fb7.38568327
Пользуйтесь на здоровье.