JavaScript--模拟验证码

时间:2023-03-10 06:33:24
JavaScript--模拟验证码
 <!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
//随机生成验证码:
//Step1: 将所有备用字符放在数组中
var chars=[];
for(var i=48;
i<=57;
chars.push(String.fromCharCode(i)),i++);
for(var i=65;
i<=90;
chars.push(String.fromCharCode(i)),i++);
for(var i=97;
i<=122;
chars.push(String.fromCharCode(i)),i++);
//console.log(String(chars));
//Step2: 定义函数getCode,随机挑选4个位置的字符
function getCode(){
//i从1开始,到<=4结束,同时声明空字符串code
for(var i=1,code="";i<=4;i++){
//从0~chars的length-1随机挑选一个位置,保存在r中
var r=Math.floor(Math.random()*(chars.length));
//将chars中r位置的字符拼接到code上
code+=chars[r];
}
return code;
}
console.log(getCode());
//Step3: 反复请用户输入验证码:
//声明变量code,初始化为getCode()返回的一个验证码
var code=getCode();
//反复请用户输入验证码(code)转为小写字母的结果,不等于code转为小写字母的结果
while(prompt("输入验证码("+code+")").toLowerCase()
!=code.toLowerCase()){
alert("验证码错误!")//提示:验证码错误!
//调用getCode()获得新验证码保存到code中
code=getCode();
}//(遍历结束)
document.write("<h1 style='color:green'>验证码正确</h1>");
</script>
</head>
<body> </body>
</html>