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>