四位数字和字母混合的随机验证码

 1 <script>
 2     // 创建 取范围随机数 函数
 3     function random(min,max){
 4         if(min>max){
 5             var ls = min;
 6             min = max;
 7             max = ls;
 8         }
 9         return Math.floor(Math.random()*(max-min+1))+min;
10     }
11     // 只有数字、小写字母、大写字母三种类型,需要四位随机验证码
12     // 所以,第四位由谁来补充,怎样做到概率相等?
13     // 创建一个12位的字符串,3种类型执行4次,相当于4位数出现了3次
14     // 这样,每种类型都补充了一次,机会均等了
15     var str = "";
16     for(i=0;i<4;i++){
17         var num = random(0,9);
18         var ENG = String.fromCharCode(random(65,90));
19         var eng = String.fromCharCode(random(97,122));
20         str = str + num + ENG + eng;
21     }
22     
23     var code = "";
24     for(i=0;i<4;i++){
25         // 在12位字符串中,通过索引,随机取4次,然后拼接
26         code = code + str[random(0,str.length-1)];
27     }
28     console.log(code);
29 
30 </script>
原文地址:https://www.cnblogs.com/Lyongliang/p/12907470.html