js生成验证码并验证
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="checkCode.js" type="text/javascript"></script>
<style type="text/css">
#code
{
font-family: Arial;
font-style: italic;
font-weight: bold;
border: 0;
letter-spacing: 2px;
color: blue;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" id="input" />
<input type="button" id="code" onclick="createCode()" />
<input type="button" value="验证" onclick="validate()" />
</div>
</form>
</body>
</html>
我这里是aspx页面。
checkCode.js文件
var code; //在全局定义验证码
//产生验证码
window.onload = function createCode() {
code = "";
var codeLength = 4; //验证码的长度
var checkCode = document.getElementById("code");
var random = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); //随机数
for (var i = 0; i < codeLength; i++) {//循环操作
var index = Math.floor(Math.random() * 36); //取得随机数的索引(0~35)
code += random[index]; //根据索引取得随机数加到code上
}
checkCode.value = code; //把code值赋给验证码
}
//校验验证码
function validate() {
var inputCode = document.getElementById("vali_code").value.toUpperCase(); //取得输入的验证码并转化为大写
if (inputCode.length <= 0) { //若输入的验证码长度为0
alert("请输入验证码!"); //则弹出请输入验证码
return false;
}
else if (inputCode != code) { //若输入的验证码与产生的验证码不一致时
alert("验证码输入错误!@_@"); //则弹出验证码输入错误
createCode(); //刷新验证码
document.getElementById("vali_code").value = ""; //清空文本框
return false;
}
else { //输入正确时
alert("^-^"); //弹出^-^
}
}