Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以32为基数生成一个随机的六位数字符串?_Javascript - Fatal编程技术网

Javascript 以32为基数生成一个随机的六位数字符串?

Javascript 以32为基数生成一个随机的六位数字符串?,javascript,Javascript,正如标题所说:我想用JavaScript在Crockford中生成一个随机的六位数字符串 我目前使用以下方法生成一个随机的六位数: function genRandNum() { return Math.floor(Math.random() * 900000) + 100000; } 但是32号基地会更酷 除了从一个字符数组中随机选取六次来构建一个字符串之外,还有谁能推荐一种有效的方法来实现这一点吗?Number。toString(32)将返回数字的32位表示形式。这不是Crockf

正如标题所说:我想用JavaScript在Crockford中生成一个随机的六位数字符串

我目前使用以下方法生成一个随机的六位数:

function genRandNum() {
    return Math.floor(Math.random() * 900000) + 100000;
}
但是32号基地会更酷

除了从一个字符数组中随机选取六次来构建一个字符串之外,还有谁能推荐一种有效的方法来实现这一点吗?

Number。toString(32)
将返回数字的32位表示形式。这不是Crockford的32位表示法(它使用
0123456789abcdefghijklmonpqrstuv
而不是Crockford的
0123456789abcdefghjkmnpqrstvwxyz
),但它可以很容易地更改,因为数字是随机的:

var key = {
    'i': 'w',
    'l': 'x',
    'o': 'y',
    'u': 'z'
};
var randomInt = Math.floor(Math.random()*1e9);
alert(randomInt.toString(32).replace(/[ilou]/, function (a) { 
    return key[a]; 
}));

您是否确实尝试过使用Crockford的
base 32
方法生成
getRandStr()
函数?没有-没有!我不想偷懒,只是想得到最好的方法的建议:)@Javed如果你认为这是最好的方法,那么我会写下来,并把它作为一个答案发布——让我知道。