前几天写了篇利用PHP生成唯一订单号的方法,其中利用到了PHP中的随机,那么今天就来说一说,利用JS生成随机数的几种方法。
有JS有现成的取随机数的函数,下面就能利用到几种,可以生成规定的两个数值之间的随机数,也可以生成一串随机的字符串
利用JS编写函数,随机两个值之间的数字
代码
我们先写出一个取两个数值之间的随机数的函数function GetRandomNum(Min,Max){
var Range = Max - Min;
var Rand = Math.random();
return(Min + Math.round(Rand * Range));
}
调用上面的函数,并取1到10之间的一个随机数
调用代码如下//飞鸟慕鱼博客
var num = GetRandomNum(1,10);
alert(num);
代码截图
上面用到的函数解释
Math:数学对象,提供对数据的数学计算。
Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
利用JS生成一串随机的字符串
我们可以巧妙的利用生成的随机,可以获取一个数组中不同下标的值,来达到生成随机不同字符串的目的
定义一个数组chars
代码var chars =['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G'];
定义函数,并随机取出数组中的值,组合成字符串
代码function generateMixed(n) {
var res = "";
for(var i = 0; i
var id = Math.ceil(Math.random()*17);
res += chars[id];
}
return res;
}
代码注释:
利用一个自定义的数组并随机生成它的下标的形式,来达到输出随机字符串的形式,
数组chars 可以自定义,但是他的个数减去1再与Math.random()生成的随机数相乘,不然会出现空值的情况,导致函数运行失败。
代码截图
上用用到的JS函数解释
Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
PS:这篇文章写的有点乱,有时间了再整理一下。