<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>用js做数字字母混合的随机四位验证码</title> </head> <body> <input type="text" id="txt"/> // 创建一个文本框 <input type="button" value="刷新验证码" id="btn"/> //创建一个刷新按钮 </body> <script> var oTxt=document.getElementById("txt"); var oBtn=document.getElementById("btn"); function random(a,b){ return Math.round(Math.random()*(a-b)+b); } oBtn.onclick=function(){ oTxt.value=""; //每次点击刷新文本框内四位二维码,防止多次点击验证码叠加。 var arr=[ ]; //定义一个空数组 for(var i=0;i<26;i++){ arr.push(String.fromCharCode(65+i)); //向数组中添加26位大写字母 } for(var i=0;i<26;i++){ arr.push(String.fromCharCode(97+i)); //向数组中添加26位小写字母 } for(var j=0;j<=9;j++){ arr.push(j); // 向数组中添加0-9共10位数字 } console.log(arr); //在控制台打印出这个含有大小写字母和数字的数组,方便查看是否出错,可去除。 for(var m=0;m<4;m++){ //循环四次,从而打印出四位随机验证码 oTxt.value+=arr[random(0,61)]; //给文本框赋值,用random()调用外部函数,随机产生索引为0-61的数,将这个索引位表示的数赋值给文本框。 } } </script> </html>