【问题标题】:How to go about creating unique id each time page loads?每次页面加载时如何创建唯一ID?
【发布时间】:2023-03-11 01:36:01
【问题描述】:

我需要在每次页面加载时创建任意长度的随机唯一字符串,以便我可以在它周围标记内容,以防止可能覆盖现有对象属性?我认为代码会是这样的:

var
   uid = generate_uid();

泰。

【问题讨论】:

  • 你确定你使用了正确的标签吗?
  • 在什么范围内独一无二?对于会议?浏览器?所有浏览器?
  • 一个简单的随机数怎么样,存储为字符串?
  • 为什么,有什么更好的选择?

标签: javascript random unique


【解决方案1】:
//  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
//

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 2019-03-25
    • 2021-06-10
    • 1970-01-01
    • 2017-01-20
    相关资源
    最近更新 更多