【问题标题】:how to generate randomly UNIQUE alphanumric number which are 6 / 8 digit如何生成 6 / 8 位的随机唯一字母数字
【发布时间】:2015-07-29 15:09:41
【问题描述】:

很抱歉,这可能是重复的帖子,但我真的不明白我该怎么做。在我的系统中,我需要生成一个大约 6 - 8 的字母数字代码(优惠券),如果用户只需键入不在生成的代码(优惠券)下的代码,它将显示错误消息。

我看到很多人在使用,但是在导入导入 java.util.UUID 的过程中我没有应用这个;

String uniqueID = UUID.randomUUID().toString(); //UUID method

到目前为止我所做的只能生成一个随机数(不是预期的结果)

Javascript

var keylist="abcdefghijklmnopqrstuvwxyz123456789";
var temp="";
function generatecoupon(plength){
temp = "";

for (i=0;i<plength;i++)
    temp+=keylist.charAt(Math.floor(Math.random()*keylist.length));

return temp;
}

function populateform(enterlength){
   document.mainfrm.COUPON.value=generatecoupon(enterlength);
}

html

<input type="button" value="Generate Coupon" onClick="populateform(this.form.thelength.value)">
<input type="hidden" name="thelength" size=3 value="6">     
<input name="COUPON" type="text" id="COUPON" size="20" maxlength="20">

需要 java 代码中的指南来生成随机唯一代码并检查值键是否在生成的值之外会显示错误消息,请提供任何帮助

【问题讨论】:

  • JavaScript 不是 Java
  • 我知道,这就是为什么我需要来自 java 而不是 javascript 的指南
  • 正如你提到的 UUID - 永远不要使用它们,然后将它们削减一定长度以将它们用作 ID:blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx
  • 您好@hamena314,请问为什么我导入java.util.UUID;时,系统会在代码下划线,因为无法解析?
  • 如何导入?

标签: java uniqueidentifier


【解决方案1】:

不久前我正在寻找类似的东西。 我想要一些类似 youtube id 的东西,并且遇到了一些不错的网站:

看看: Hashids.org(在此处查看demo

这种解决方案也很好阅读,看看:Blogg - Create Youtube-Like IDs With PHP/Python/Javascript/Java/SQL

【讨论】:

  • 您好,您还有其他解决方案吗?那更具体?
【解决方案2】:

你应该替换:

document.mainfrm.COUPON.value=generatecoupon(enterlength);
// Uncaught TypeError: Cannot read property 'COUPON' of undefined

与:

document.getElementById("COUPON").value=generatecoupon(enterlength);

您错过了这一点,但您的代码有效。

这里有一个演示:http://jsfiddle.net/zL1jz9c5/

【讨论】:

    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2011-02-17
    • 2013-04-12
    相关资源
    最近更新 更多