JavaScript随机验证码函数(字母加数字随机生成),指定验证码生成几位,JavaScript点击按钮在页面生成随机验证码js源代码

来来来,你是不是迫不及待想看源码了,别,别这样,咱们先来分析一下思路怎么样?

首先我们知道js中生成随机数的方法就是Math.random();

我们需要生成的随机数从0~9或者A~Z或者a~z中随机抽取一位;

那么我们此时有两种选择:

  方法一:生成一个数组,装有单个字符,长度为26+26+10,一共62,也就是随机下标0~61,对应的random写法为:parseInt(Math.random()*62));//什么?你看不懂这句话,那建议你看看我另一篇文章Math.random小技巧   网址:https://www.cnblogs.com/shujiemao/p/13881957.html

 

  po个代码

  function RandomVerificationCode(n) {
            var container = '1234567890qwertyuioplkjhgfdsazxcvbnmAQWSZXCDERFVTGBYHNUJMIKOLP';
            var arr = [];   //定义一个空数组来接收生成的随机验证码
            for (var i = 0; i < n; i++) {
                var num = parseInt(Math.random() * 62);
                arr.push(container[num]);
            }
            
   n = arr.join("");  //使用n或者自定义一个变量来接收arr数组生成的字符串
            alert(n);    //来检验是否成功生成随机数,可以删除的语句
   return n;          //返回n,可以自定义一个变量去接收验证码
        }

        RandomVerificationCode(6);
 
 
 

  方法二:利用大小写字母的ASCII码值

      A~Z 的ASCII码范围为65~90;

      a~z的ASCII码范围为97~122;

      那么就生成一个随机ASCII码值范围的数对应下标为0~121,然后再编写一个判断函数来判断生成的随机数是不是想要的ASCII码值

     po个代码:

    

   function RandomVerificationCode(n) {
            var arr = [];   //定义一个空数组来接收生成的随机验证码
            for (var i = 0; i < n; i++) {
                var num = parseInt(Math.random()*123);
                if(num >=1 && num <=10){
                    arr.push(num);   //1~10直接添加给arr即可
                }else if(num >= 65 && num <= 90 || num >=97 && num <=122){
                    arr.push(String.fromCharCode(num));   //push()方法用来给arr添加元素,使用String.fromCharCode()方法可以将接收到的num也就是字母所对应的ASCII码值转换成对应字母
                }else{
                    i--;              //控制循环次数,如果遇到了不是需要的范围对应的ASCII码值,则i--来控制循环次数
                }
            }
            n = arr.join("");  //使用n或者自定义一个变量来接收arr数组生成的字符串
            alert(n);    //来检验是否成功生成随机数,可以删除的语句
   return n;          //返回n,可以自定义一个变量去接收验证码
        }

        RandomVerificationCode(6);

 

 

好了,只弹出来一个验证码是不是有点无聊,来实现用按钮来控制页面生成随机验证码吧

好了好了,我好懒啊,我po一张图你写写代码练一练好不好嘛

 

让我们一起努力成为一个合格的小前端吧,如果你觉得这篇文章帮助到你了,点个赞留句鼓励再走吧!谢谢观看

posted @ 2020-10-26 23:05  丨树街猫  阅读(989)  评论(0编辑  收藏  举报