首页前端开发HTMLHtml5生成验证码的示例代码

Html5生成验证码的示例代码

时间2024-01-25 08:52:14发布访客分类HTML浏览718
导读:收集整理的这篇文章主要介绍了Html5生成验证码的示例代码,觉得挺不错的,现在分享给大家,也给大家做个参考。 利用HtML5的canvas标签生成画布,在画布上利用随机生成的数字画上验证码,背景为随机生成的颜色和杂乱的直线与点点。...
收集整理的这篇文章主要介绍了Html5生成验证码的示例代码,觉得挺不错的,现在分享给大家,也给大家做个参考。

利用HtML5的canvas标签生成画布,在画布上利用随机生成的数字画上验证码,背景为随机生成的颜色和杂乱的直线与点点。

进阶:利用表单插件属性绑定验证码数据(json)可以在发送时候或者异步通信进行后台数据获取与检查。

代码块

!DOCTYPE html>
    html>
    head>
        meta charset="UTF-8">
        tITle>
    验证码/title>
    style type="text/css">
    #canvas{
            cursor:pointer;
    }
    /style>
    /head>
    body>
        canvas id="canvas" width="150px" height="50px">
    /canvas>
    script>
        //生成随机数    function randomNum(min,max){
            return Math.floor(Math.random()*(max-min)+min);
    }
        //生成随机颜色RGB分量    function randomColor(min,max){
            VAR _r = randomNum(min,max);
            var _g = randomNum(min,max);
            var _b = randomNum(min,max);
            return "rgb("+_r+","+_g+","+_b+")";
    }
    //先阻止画布默认点击发生的行为再执行drawPic()方法    document.getElementById("canvas").onclick = function(e){
            e.preventDefault();
            drawPic();
    }
    ;
    function drawPic(){
            //获取到元素canvas        var $canvas = document.getElementById("canvas");
            var _str = "0123456789";
    //设置随机数库        var _picTxt = "";
    //随机数        var _num = 4;
    //4个随机数字        var _width = $canvas.width;
            var _height = $canvas.height;
            var ctx = $canvas.getContext("2d");
    //获取 context 对象        ctx.textBaseline = "bottom";
    //文字上下对齐方式--底部对齐        ctx.fillStyle = randomColor(180,240);
    //填充画布颜色        ctx.fillRect(0,0,_width,_height);
    //填充矩形--画画        for(var i=0;
     i_num;
 i++){
                var x = (_width-10)/_num*i+10;
                var y = randomNum(_height/2,_height);
                var deg = randomNum(-45,45);
                var txt = _str[randomNum(0,_str.length)];
                _picTxt += txt;
    //获取一个随机数            ctx.fillStyle = randomColor(10,100);
    //填充随机颜色            ctx.font = randomNum(16,40)+"px SimHei";
    //设置随机数大小,字体为SimHei            ctx.translate(x,y);
    //将当前xy坐标作为原始坐标            ctx.rotate(deg*Math.PI/180);
    //旋转随机角度            ctx.fillText(txt, 0,0);
    //绘制填色的文本            ctx.rotate(-deg*Math.PI/180);
                ctx.translate(-x,-y);
        }
            for(var i=0;
     i_num;
 i++){
                //定义笔触颜色            ctx.strokeStyle = randomColor(90,180);
                ctx.beginPath();
                //随机划线--4条路径            ctx.moveTo(randomNum(0,_width), randomNum(0,_height));
                ctx.lineto(randomNum(0,_width), randomNum(0,_height));
                ctx.stroke();
        }
            for(var i=0;
     i_num*10;
 i++){
                ctx.fillStyle = randomColor(0,255);
                ctx.beginPath();
                //随机画原,填充颜色            ctx.arc(randomNum(0,_width),randomNum(0,_height), 1, 0, 2*Math.PI);
                ctx.fill();
        }
            return _picTxt;
//返回随机数字符串    }
        drawPic();
    /script>
    /body>
    /html>
    

到此这篇关于Html5生成验证码的示例代码的文章就介绍到这了,更多相关Html5生成验证码内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

验证码"

若转载请注明出处: Html5生成验证码的示例代码
本文地址: https://pptw.com/jishu/586337.html
HTML5轮播图全代码 html5中sharedWorker实现多页面通信的示例代码

游客 回复需填写必要信息