代码:
function alphanumeric()
{
var randomnum=Math.random().toString(36).substr(2,8);
document.getElementbyId("textBoxId").value = randomnum;
}
每当我调用alphanumeric()函数时,这将生成字母数字随机字符串,并在文本框中显示如... v3ta4t8l,zshqoc2u,9pey71rb ...哪个工作正常.. 根据我的要求,我只需要允许使用唯一的字母数字。你能帮我解决下面的问题吗,
1.它只生成独特的字母数字吗?
2.这会产生多少字母数字?
3.是否可以只允许使用唯一的字母数字?
4.我可以在数据库中使用主键存储唯一的字母数字,在我的情况下已经有一个主键,因此我将尝试使用java脚本实现...
答案 0 :(得分:0)
这里只会返回独特的字母数字
function alphanumeric_unique() {
return Math.random().toString(36).split('').filter( function(value, index, self) {
return self.indexOf(value) === index;
}).join('').substr(2,8);
}
将字符串拆分为一个字符数组,然后使用Array.filter()
过滤掉数组中已有的任何字符,只获取每个字符的一个实例,然后最后将字符连接回字符串,并运行substr(2, 8)
以获得与问题相同的长度字符串,从第二个字符开始,总共有八个字符。
答案 1 :(得分:0)
function IDGenerate() {
var text = "";
var hdntxt = "";
var captchatext = "";
var possible = "ABCDEFGHIkLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 7; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
document.getElementById("txtboxID").value = text;
return false;
}