验证码的创建和使用

1. 创建新的js,css

(1) 创建validate.js

var code; //在全局 定义验证码 

//大小写敏感

 

//1.生成一个新的验证码

function createCode(){

    code = "";

    var codeLength = 4;//验证码的长度   

    var checkCode = document.getElementById("checkCode");

    //设置一个62位长的数组

    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', '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++) {

        //Math.floor(Math.random( ) * (n+1));取出0~1之间的随机数*最大值加1(即数组的大小),floor()去除小数点后的数字。

        var charIndex = Math.floor(Math.random() * 62);

        code += selectChar[charIndex];

    }

    if (checkCode) {

        checkCode.className = "code";

        checkCode.value = code;

    }

}

 

//2.判断输入的验证码是否正确

function validate(){

    var temp = document.getElementById("inputCode").value;

    if (temp.length <= 0) {

        alert("请输入验证码!");

        return false;

    }

    else 

        if (temp != code) {//验证输入的是否等于全局 验证码   

            alert("验证码输入错误!");

            document.getElementById("inputCode").value = "";

            createCode();//刷新验证码   

            return false;

        }

        else {

            alert('恭喜!输入正确,请等待跳转');

            document.getElementById("inputCode").value = "";

            createCode();//刷新验证码

            return true;

        }

}

 

 

 

 

var codes; //在全局 定义验证码 

//大小写不敏感

 

//1.生成一个新的验证码

function createCode2(){

    codes = "";

    var codeLength = 4;//验证码的长度   

    var checkCode = document.getElementById("checkCode2");

    //设置一个62位长的数组

    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', '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++) {

        //Math.floor(Math.random( ) * (n+1));取出0~1之间的随机数*最大值加1(即数组的大小),floor()去除小数点后的数字。

        var charIndex = Math.floor(Math.random() * 62);

        codes += selectChar[charIndex];

    }

    if (checkCode) {

        checkCode.className = "code";

        checkCode.value = codes;

    }

}

 

//2.判断输入的验证码是否正确

function validate2(){

    var inputCode = document.getElementById("inputCode2").value;

    var temp = inputCode.toUpperCase();//转换成大写字母

    var codess = codes.toUpperCase();

    if (temp.length <= 0) {

        alert("请输入验证码!");

        return false;

    }

    else 

        if (temp != codess) {//验证输入的是否等于全局 验证码   

            alert("验证码输入错误!");

            document.getElementById("inputCode2").value = "";

            createCode2();//刷新验证码   

            return false;

        }

        else {

            alert('恭喜!输入正确,请等待跳转');

document.getElementById("inputCode2").value = "";

            createCode2();//刷新验证码   

            return true;

        }

}

 

 

 

//登录时产生

function load(){

    createCode();

    createCode2();

}

 

window.onload = load;

 

(2) 创建validate.css

.code {

    background-image: url(code.jpg);

    font-family: Arial;

    font-style: italic;

    color: Red;

    border: 1px solid #1f44ba;

    padding: 2px 3px;

    letter-spacing: 3px;

    font-weight: bolder;

    background-image: url(downpage.jpg);

}

 

.unchanged {

    border: 0;

width:80px;

}

2. 验证码使用

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>验证码</title>

<!-- 必须导入 -->

<link rel="stylesheet" type="text/css" href="validate.css">

<script type="text/javascript" src="validate.js"></script>

<!-- 到此 -->

</head>

 

<body>

<h1>

大小写敏感

</h1>

验证码:

<!-- 如果是type="text",那么type可以省略,默认是text(文本框)类型 -->

<input id="inputCode" type="text" />

<!-- readonly="readonly"控件只读 -->

<input id="checkCode" type="text" class="unchanged"

readonly="readonly" />

<href="#" onclick="createCode()">看不清,换一张图</a>

<input id="btn" type="button" onClick='validate()' value="登陆">

 

<h1>

大小写不敏感

</h1>

验证码:

<!-- 如果是type="text",那么type可以省略,默认是text(文本框)类型 -->

<input id="inputCode2" name="validate" type="text" />

<!-- readonly="readonly"控件只读 -->

<input id="checkCode2" name="validate2" type="text" class="unchanged"

readonly="readonly" />

<href="#" onclick="createCode2()">看不清,换一张图</a>

<input id="btn2" type="button" onClick='validate2()' value="登陆">

 

</body>

</html>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值