如何让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()方法就介绍到这里了,举一反三什么随机数都可以生成啦!如果这篇文章你觉得还不错就点个赞或者评论鼓励下我吧!
 
posted @ 2020-10-26 22:49  丨树街猫  阅读(622)  评论(0)    收藏  举报