Math.random()方法用于生成,结果为0-1间的一个伪随机数(包括0,不包括1) ,通常的办法是结合parseInt()、Math.floor() 或者 Math.ceil()进行四舍五入处理,以这样的一个形式生成随机数,那么生成指定范围内的随机数呢?
生成不重复的随机数呢?生成字母和数字组合拼接而成的随机数要怎么实现呢?下面为大家一一介绍
用js生成一段随机数对于前端来说是非常常见的,下面介绍几种办法
/* random() 方法可返回介于 0 ~ 1 之间的一个随机数。 如果多个随机数相乘,结果只会越集中于一点,这个值便是0,如Math.random()*Math.random()*Math.random()*Math.random() 单个随机数反而离散均匀的分布在0~1之间 */ var i = Math.random(); console.log(i); /* 生成n到m之间的随机数 */ function createRandom(n,m) { return Math.random() * (m - n) + n; } console.log(Math.random() * (2 - 1) + 1); /* 生成随机数时间戳 */ function stampRandom() { var a = Math.random, b = parseInt; return Number(new Date()).toString() + b(10 * a()) + b(10 * a()) + b(10 * a()); } console.log(stampRandom());
下面介绍一种生成数字加字母的随机数,偶然间看到大神的代码,令我目瞪口呆
/*
生成字母加数字的随机数
*/
function getRandomAlphaNum(len) { var rdmString = ""; for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2)); return rdmString.substr(0, len); }
console.log(getRandomAlphaNum(6)); //cs7c8s