Javascript客户端-如何生成一个随机的字母数字字符串,该字符串连续重复两次,然后生成一个新的唯一字符串?

问题描述 投票:0回答:1

我正在尝试从前端在客户端Javascript代码中执行以下操作。

这是我希望我的功能执行的操作:

generateAlphaNumericStringTwice();的流:

  1. 第一个用户第一次登陆我的页面,我的函数应该返回一个唯一的str:abcd2981
  2. 第二个用户第一次登陆我的页面,我的函数应该返回在步骤1:abcd2981之前生成的同一个str。>
  3. 第三位用户首次登陆我的页面,我的函数应返回一个新的unstrue str:mqio8640
  4. 第四位用户首次登陆我的页面,我的函数应返回在步骤3之前生成的同一个str:mqio8640
  5. 第五位用户首次登陆我的页面,我的函数应返回一个新的unstrue str:psjg5739
  6. 第六个用户第一次登陆我的页面,我的函数应该返回在步骤5之前生成的同一个str:psjg5739
  7. 等等等。

您可以,我希望我的函数生成一个唯一的字母数字字符串,但是当我两次调用该函数时,它应该连续两次生成它。

当我第三次调用它时,它应该生成一个新的唯一字符串,第4次我打电话的时候,它应该生成相同的最后一个字符串。但是在第5次,它应该再次生成一个新的唯一的。

我正在尝试完全在客户端执行此操作,而不使用任何服务器端技术。也许我可以将旧数字推入某个队列,然后再次将其拉出,但是如何仅在客户端执行此操作?

我是Java语言的新手,任何代码示例或jsfiddles都对我有帮助。

提前感谢。

到目前为止,基于此Generate random string/characters in JavaScript,我已经找到了此代码

function makeid(length) {
   var result           = '';
   var characters       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
   var charactersLength = characters.length;
   for ( var i = 0; i < length; i++ ) {
      result += characters.charAt(Math.floor(Math.random() * charactersLength));
   }
   return result;
}

console.log(makeid(5));

但是同一字符串不会重复两次。

我正在尝试从前端在客户端Javascript代码中执行以下操作。这是我要我的函数执行的操作:generateAlphaNumericStringTwice();的流程:第一个用户首先登陆我的页面...

javascript queue alphanumeric random-seed
1个回答
0
投票

您可以插入名为token的localStorage项,并将其设置为随机令牌。这样,如果用户返回该站点,则客户端可以检查该用户是否具有本地存储项。 (这意味着您可以了解它们是否是首次访问),但是为了跟踪来自多个来源的多个客户端,您需要在其他地方存储持久数据。数据库,以及将数据库连接到客户端的服务器。

© www.soinside.com 2019 - 2024. All rights reserved.