2013-09-02 2 views
-1

Мне нужно создать случайную уникальную строку произвольной длины при каждом загрузке страницы, чтобы я мог маркировать вещи вокруг нее, чтобы предотвратить возможную перезапись существующих свойств объекта? Я полагаю, что код будет выглядеть примерно так:Как создать уникальный идентификатор каждый раз, когда загружается страница?

var 
    uid = generate_uid(); 

Ty.

+0

Вы уверены, что используете подходящий тег? –

+2

уникальный в каком периметре? Для сеанса? браузера? Все браузеры? –

+0

Дубликат [сгенерировать случайную строку для div id] (http://stackoverflow.com/questions/6860853/generate-random-string-for-div-id) – Joe

ответ

0
// I think I got it 
// 
function generate_uid(prefix) { 
    var 
     tmp1 = "", 
     tmp2 = "", 
     locase = "abcdefghijklmnopqrstuvwxyz", 
     tf  = function() { return Math.random() > .5; }, 
     r, 
     l; 

    for (var i = 0, len = locase.length; i < len; i++) { 
     tmp1 += ((tf()) ? locase[i].toUpperCase() : locase[i]); 
    } 
    l = (tmp1 += String(Date.now ? Date.now() : (new Date()).getTime())).length; 
    for (
     ; l 
     ; (
      r  = Math.floor(Math.random() * (l--)), 
      tmp2 += tmp1.charAt(r), 
      tmp1 = tmp1.substring(0, r) + tmp1.substr(r + 1) 
     ) 
    ); 
    return prefix ? String(prefix) + tmp2 : tmp2; 
} 
console.log(generate_uid("fnid_")); 
// 
// fnid_2JGZCMWSyrQaNhD10k83p91LTF073X6oiv9Be5u 
// 
Смежные вопросы