如何让JavaScript下的Math.random()随机任意范围的数,比如1~100,a~z等等,Math.random()用法,Math.random()小技巧js源代码
Math.random()方法默认生成[0,1)之间的数,且接触不到1
先来说个简单的,随机生成范围1~100的数:
对应的写法为parseInt(Math.random()*101); //乘以101是因为random永远生成不了1,name就要乘以一个比我们指定范围+1的数
再来说说怎么随机生成a~z:
有两种方法:
方法一:定义一个数组或者字符串,里面存储26个英文字母,然后用random随机生成1~26的下标,使用另一个数组接收生成的对应下标的数组元素就可以随机生成26个英文字母对应的随机数,来po个代码瞧瞧
function RandomVerificationCode(n) { //n代表可以指定你想要随机生成几位数
var container = 'qwertyuioplkjhgfdsazxcvbnm';
var arr = []; //arr用来容纳生成的随机数
for (var i = 0; i < n; i++) {
var num = parseInt(Math.random() * 26); //遍历0~25 乘以25+1也就是26
arr.push(container[num]);
}
n = arr.join(""); //n来接收arr.join("")生成的新字符串,此处也可以定义一个其他变量来接收
alert(n); //此处来验证n是否为随机数
return n; //在函数外部可以定义一个变量来接收生成的随机数
}
RandomVerificationCode(6);
方法二:利用ASCII码值,随机生成一个0~122的随机数,然后判断所生成的随机数是否是小写字母,是就插入容器数组,不是就i--来控制循环次数,话不多少 po代码
function RandomVerificationCode(n) {
var arr = [];
for (var i = 0; i < n; i++) {
var num = parseInt(Math.random()*123);
if(num >=97 && num <=122){
arr.push(String.fromCharCode(num)); //string.fromCharCode()方法就是可以将接受到的ASCII码值转换成为对应字符,此时num就是字母对应的ASCII码值
}else{
i--; //控制循环次数,以免被不是字母的数浪费循环次数
}
}
n = arr.join("");
alert(n);
return n; //可以定义一个变量接收随机生成的字符串
}
RandomVerificationCode(6);
好了,Math.random()方法就介绍到这里了,举一反三什么随机数都可以生成啦!如果这篇文章你觉得还不错就点个赞或者评论鼓励下我吧!

浙公网安备 33010602011771号