在JavaScript中显示以零密码开头的随机数



我正在用JavaScript进行一个随机引脚生成项目,我想用Math.random()方法生成像035109470268这样的随机引脚,其中引脚将以0密码开始,零将显示在输出中。

我该怎么做?

您可以将它们显示为字符串,如下所示:

var pin = "0";
function randompin() {
for(var i=0;i<3;i++) {
pin = pin + Math.floor(Math.random() * 10).toString();
}
console.log(pin)
}
randompin();

因此,您将得到一个以零开头的4位字符串

这能帮到你吗?

function getRandomPin() {
return '0' + Math.floor(Math.random() * 900 + 100);
}
console.log(getRandomPin());
console.log(getRandomPin());
console.log(getRandomPin());

该解的界从01000999

相反,对于下面的一个,我添加了更多关于0100:下可以生成的数字的控件

function getRandomPin() {
var temp = Math.floor(Math.random() * 1000);
if (temp < 100) {
if (temp < 10) {
return '000' + temp;
}
else {
return '00' + temp;
}
}
else {
return '0' + temp;
}
}
console.log(getRandomPin());
console.log(getRandomPin());
console.log(getRandomPin());


编辑:以下是一个解决方案,如果之前的结果不是以0密码开头的数字,则会按照注释的要求取出该数字:

var bool = false;
function getRandomPin() {
if (bool) {
var temp = Math.floor(Math.random() * 1000);
bool = false;
}
else {
var temp = Math.floor(Math.random() * 10000);
bool = true;
}

if (temp < 10) {
return '000' + temp;
}
else if (temp < 100) {
return '00' + temp;
}
else if (temp < 1000) {
return '0' + temp;
}
else {
return temp;
}
}
console.log(getRandomPin());
console.log(getRandomPin());
console.log(getRandomPin());
console.log(getRandomPin());
console.log(getRandomPin());
console.log(getRandomPin());

建议最后一个解决方案在前一个数字至少为1000时提供一个以0开头的数字是正确的,但这并不妨碍0xyz数字在另一个0xyz数字之后

最新更新