我正在尝试使用 JS 生成 6 位代码。
它必须包含 3 个数字和 3 个字符。
这是我的代码
var numbers = "0123456789";
var chars = "acdefhiklmnoqrstuvwxyz";
var string_length = 3;
var randomstring = '';
var randomstring2 = '';
for (var x = 0; x < string_length; x++) {
var letterOrNumber = Math.floor(Math.random() * 2);
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum, rnum + 1);
}
for (var y = 0; y < string_length; y++) {
var letterOrNumber2 = Math.floor(Math.random() * 2);
var rnum2 = Math.floor(Math.random() * numbers.length);
randomstring2 += numbers.substring(rnum2, rnum2 + 1);
}
var code = randomstring + randomstring2;
Run Code Online (Sandbox Code Playgroud)
代码结果将是 3chars + 3 个数字 .. 我想将此值重新排列为随机值包含相同的 3 个字符和 3 个数字
您可以使用这样的函数来打乱当前的代码(来自这个答案)
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/array/shuffle [v1.0]
function shuffle(o){ //v1.0
for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};
Run Code Online (Sandbox Code Playgroud)
你可以这样使用它:
alert(shuffle("StackOverflow".split('')).join(''));
Run Code Online (Sandbox Code Playgroud)
这是使用此代码的更新演示。
| 归档时间: |
|
| 查看次数: |
5722 次 |
| 最近记录: |