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、四位数字,这个就是随机一个字符,验证作用为零,容易破解。
2、数字和图片相结合。
3、汉子组成,随机生成,打起来更难。
4、JPG格式,随机英文字母。
验证码运用到的技术:服务器端的相关实现,前端运用 HTML 5,CSS 3 ,须有 HTML 基础知识。
主要是三部分:
1、提交界面, 成功及失败的——jsp 。
2、后台对应提交 jsp ;验证提交内容的——servlet 。
3、生成验证码的——servlet,XML文档。