• JS验证码


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>JS实现生成随机验证码并验证功能</title>
        <style>
            *{ margin: 0; padding: 0; }
            .wrap{
                 500px;
                margin: 20px auto;
            }
            #text{
                height: 30px;
                box-sizing: border-box;
                vertical-align: middle;
                text-indent: 1em;
            }
            #code{
                display: inline-block;
                 80px; height: 30px;
                background: #aaa;
                text-align: center;
                line-height: 30px;
                color: #fff;
                text-decoration: none;
                letter-spacing: 7px;
                padding-left: 7px;
                vertical-align: middle;
                font-weight: bold;
            }
            #btn{
                 60px; height: 30px;
                outline: 0;
                border: #153021;
                background: #499990;
                color: #fff;
                border-radius: 5px;
            }
        </style>
    </head>
    <body onload= "createCode()">
    <div class="wrap">
        <input type="text" id="text" placeholder = "请输入验证码">
        <a href="javascript:" id="code" onclick="createCode( this )"></a>
        <input type="button" id="btn" value="验证" onclick="validate()">
    </div>
    
    <script>
        //功能实现 :自动生成验证码,点击验证按钮的时候匹配字符串成功则跳转到百度失败input输入框为空,继续随机生成;
        var input = document.getElementById("text");
        var btn = document.getElementById('btn');
        var codes = document.getElementById('code');
        var inputext="";
        var code = "";
        //创建验证码
        function  createCode() {
    
            code = "";
            //设置验证码的个数为4个
            var codeLength = 4;
             //设置验证码中科选取的数值
            var random = [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'];
             //random一共36个字符
            for( var i =0 ; i<codeLength ; i++) //在random中随机去4个值出来
            {
                //使用random() 方法可返回介于 0 ~ 1 之间的一个随机数。round() 方法可把一个数字舍入为最接近的整数。
                var j =Math.round(Math.random()*36) //随机生成下标
                code+=random[j];
            }
            //把code随机生成的验证码放入超链接当中;
            codes.innerHTML = code;
        }
        //获取输入框内的值
        input.onchange = function (ev) {
             inputext = input.value.trim().toUpperCase();
             //console.log(inputext);
        }
            
    
    
        //结果校验 判断输入的字符和随机生成的验证码
        function validate() {
            //获取输入的内容,如果输入为空,弹出警告
        if(inputext)
        {
              //检查是否相等
            if(inputext == code)
            {
                window.open('http://www.baidu.com','_self');
            }
            else {
                //清空输入框
                input.innerHTML = "";
                alert("验证码不正确,请重新输入");
                //验证码在随机生成
                createCode();
            }
        }
        else{
            alert("请输入验证码");
        }
    
    
    
        }
    
    </script>
    
    
    
    </body>
    </html>
    

      

  • 相关阅读:
    仪仗队
    疫情控制
    Code
    距离咨询
    舒适的路线
    桐桐的糖果计划
    跑路
    最短路计数
    骑马修栅栏
    搭桥
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/9069156.html
Copyright © 2020-2023  润新知