我正在用JavaScript进行一个随机引脚生成项目,我想用Math.random()
方法生成像0351
、0947
、0268
这样的随机引脚,其中引脚将以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());
该解的界从0100
到0999
相反,对于下面的一个,我添加了更多关于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
数字之后