源文地址:https://www.cnblogs.com/tutoo/p/4048736.html
本文只记录自我的理解过程,附加上一些些自己的注释
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<title>js编写验证码</title>
<style type="text/css" >
.code /*此处为input(验证码显示栏目的样式)*/
{
background-image:url(code.jpg);
font-family:Arial;
font-style:italic;
color:Red;
border:0;
padding:2px 3px;
letter-spacing:3px;
font-weight:bolder;
}
.unchanged
{
border:0;
}
</style>
<script language="javascript" type="text/javascript">
var code ; //在全局 定义验证码
function createCode()
{
code = "";
var codeLength = 6;//验证码的长度
var checkCode = document.getElementById("checkCode");
var selectChar = 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 charIndex = Math.floor(Math.random()*36); //Math.random得到0-36中随机的一个数,floor取整数部分
code +=selectChar[charIndex];
}
// alert(code);
if(checkCode)
{
checkCode.className="code";
checkCode.value = code; /*与传统编程语言不一样,直接是A=getElementById A即是这个getElementById*/
}
}
function validate ()
{
var inputCode = document.getElementById("input1").value;
if(inputCode.length <=0)
{
alert("请输入验证码!");
}
else if(inputCode != code )
{
alert("验证码输入错误!");
createCode();//刷新验证码
}
else
{
alert("^-^ OK");
}
}
</script>
</head>
<body onload="createCode()" >
<form action="#">
<input type="text" id="input1" />
<input type="text" onclick="createCode()" readonly="readonly" id="checkCode" class="unchanged" style="width: 80px" /><br />
<input id="Button1" onclick="validate();" type="button" value="确定" />
</form>
</body>
</html>