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

标签 javascript

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

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

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]; 
}));

关于javascript - 生成一个以 32 为基数的随机六位数字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7948570/

相关文章:

javascript - 是否有适用于 mac 的 IDE 或文本编辑器可以理解 javascript 中的模块模式

java - 为什么日期在不同时区以相同的毫秒数变化?

javascript - Django 和 React : csrf cookie is not being set in request header

javascript - 数组未在 Parse Cloud 代码中复制

javascript - 从 RadDateTimePicker 中扣除天数

javascript - Angular 发布请求不起作用不起作用

javascript - 具有自定义功能的 AngularJS OrderBy

javascript - 当 JSON 对象为空时显示适当的消息

javascript - 如何在嵌套结构中声明变量?

javascript - Chrome 扩展 : How to get website assets/resources (CSS, 图片等)