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 = 0i <codeLengthi++) {//循环操作
var index = Math.floor(Math.random()*36)//取得随机数的索引(0~35)
code += random[index]//根据索引取得随机数加到code上
}
checkCode.value = code//把code值赋给验证码
}
//校验验证码
function validate(){
var inputCode = document.getElementById("input").value.toUpperCase()//取得输入的验证码并转化为大写
if(inputCode.length <= 0) { //若输入的验证码长度为0
alert("请输入验证码!")//则弹出请输入验证码
}
else if(inputCode != code ) { //若输入的验证码与产生的验证码不一致时
alert("验证码输入错误!@_@")//则弹出验证码输入错误
createCode()//刷新验证码
document.getElementById("input").value = ""//清空文本框
}
else { //输入正确时
alert("^-^")//弹出^-^
}
}
最简单的方法你把图一的显示验证码也弄成一个图片,比如叫code.png,上面你的代码就能换成<img src="code.png" onclick="this.src ={$maccms.path_tpl}picture/captcha.png"
<html><head>
<script language="javascript" type="text/javascript">
var code
function createCode(){
code = new Array()
var codeLength = 4
var checkCode = document.getElementById("checkCode")
checkCode.value = ""
var selectChar = new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z')
for(var i=0i<codeLengthi++) {
var charIndex = Math.floor(Math.random()*32)
code +=selectChar[charIndex]
}
checkCode.value = code
}
function validate () {
var inputCode = document.getElementById("yzm").value.toUpperCase()
if(inputCode != code ){
alert("验证码错误!")
return false
}
else {
alert("验证码正确!")
return true
}
}
</script>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">
</head>
<body onLoad="createCode()">
验证码:<input type="text" id="yzm" size="5" />
<input type="button" id="checkCode" onClick="createCode()" title="刷新验证码" style="width:50pxcolor:#F00border:0letter-spacing:1pxfont-family:Arial" />
<input type="button" id="Button1" onClick="validate()" value="确定" />
</body>
</html>