js如何随机一个8位的数而且可以是0开头?

js随机一个8位的10w到1亿之间的数字,如果不够千万要以0开头,
比如10w,就要是00100000显示,这种的js可以实现吗?

阅读 6.3k
7 个回答
//没啥要求的话,就是随便8位数就行了
let finalNum = '';
for(let i = 0 ; i< 8 ; i++){
    finalNum += Math.floor(Math.random()*10);
}
console.log(finalNum);

比如你用 lodash.js
可以这样

var r = _.random(100000, 100000000);
var num = _.padStart(r, 8,'0');
// "05760604"
var result = ('00000000'+(Math.random()*99999999|0)).substr(-8);

供参考

var num = Array(8).fill(0).map(() => Math.floor(Math.random()*10)).join('')

手动挡~

var max = 100000000
var min = 100000;
var b = max - min;
var r = Math.random();
var a = parseInt(r * b) + min;
var s = a.toString()
while(s.length < 8){
    s = '0' + s;
}
console.log(b, r , a , s)

function rand(){
            var randNum=String(parseInt(Math.random()*(100000000-100000)+100000));
            var array=new Array(9-randNum.length);
            return array.fill('0').splice(array.length-1,1,randNum).join('');
        }

还是一行解决

(~~(Math.random() * 100000000 - 100000) + 100000).toString().padStart(8, '0')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题