1. 程式人生 > >js實現登入頁面驗證碼

js實現登入頁面驗證碼

主要用到的是js生成隨機數

Math.floor();//向下取整 

Math.random();  //0.0 ~ 1.0 之間的一個偽隨機數。【包含0不包含1】

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>驗證碼</title>
    <link rel="stylesheet"  type="text/css"  href="home.css"/>
    <script language="javascript" src="home.js" ></script>
</head>
<body onload="createCode()">
<form id="form1" runat="server" onsubmit="validateCode()">
    <div>
        <table border="0" cellspacing="5" cellpadding="5" >
            <tr>
                <td></td><td> <div class="code" id="checkCode" onclick="createCode()" ></div></td>
                <td><a  href="#" onclick="createCode()">看不清換一張</a></td>
            </tr>
            <tr>
                <td>驗證碼:</td><td><input  style="float:left;" type="text"   id="inputCode" /></td><td>請輸入驗證碼</td>
            </tr>
            <tr><td></td><td><input id="Button1"  onclick="validateCode();" type="button" value="確定" /></td><td></td>
            </tr>
        </table>
    </div>
</form>
</body>
</html>

主要是js的編寫

/**
 * Created by ying on 17-2-4.
 */

var code;
function createCode() {
    code = "";
    var codeLength = 4; //驗證碼的長度
    var checkCode = document.getElementById("checkCode");
    var codeChars = 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++)
    {
        var charNum = Math.floor(Math.random() * 52);
        code += codeChars[charNum];
    }
    if (checkCode)
    {
        checkCode.className = "code";
        checkCode.innerHTML = code;
    }
}
function validateCode()
{
    var inputCode = document.getElementById("inputCode").value;
    if (inputCode.length <= 0)
    {
        alert("請輸入驗證碼!");
    }
    else if (inputCode.toUpperCase() != code.toUpperCase())
    {
        alert("驗證碼輸入有誤!");
        createCode();
    }
    else
    {
        alert("驗證碼正確!");
    }
}

 驗證碼背景圖片可以使用

.code{
background:url(圖片路徑);
}