怎样用JavaScript实现验证码的验证

JavaScript010

怎样用JavaScript实现验证码的验证,第1张

用JavaScript实现验证码的验证主要代码如下:

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("^-^")//弹出^-^

}

}

说原理吧.

1、js获取文本框的输入验证码。发送到后台的一个处理页面

2、处理页面接收js发送过来的值(参数)与seesion验证码对比。把对比结果输出(相当于返回结果了)

3、js接收后台处理页面返回来的结果(真或假),从而给用户提示验证码是否正确。

建议利用ajax比较方便。用Iframe实现也成。

验证码在我们的后台代码生成,也就是在java代码里生成。然后在页面上显示出来,当用户输入验证码后再检验用户输入的验证码是否和后台生成的验证码相同,比较的时候可以通过ajax去比较,坚决反对用个隐藏域来保存后台生成的验证码,因为这样很容易被攻击