站長資訊網
        最全最豐富的資訊網站

        html5如何生成驗證碼

        html5如何生成驗證碼

        思路介紹:

        可以利用html5的canvas標簽先生成畫布,然后在畫布上利用隨機數字生成驗證碼,背景用隨機顏色和雜亂的直線來代替。

        (學習視頻分享:html5視頻教程)

        高級方法:

        利用表單插件屬性綁定驗證碼數據(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教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久精品18| 亚洲国产精品无码专区影院 | 精品欧美一区二区在线看片| 国产精品亚洲片在线观看不卡| 日韩AV毛片精品久久久| 亚洲人成亚洲精品| 99久久国产热无码精品免费| 亚洲国产精品一区二区三区久久| 国产高清精品在线| 秋霞久久国产精品电影院| 精品久久人妻av中文字幕| 亚洲精品无码久久久| 国产成人无码精品一区在线观看| 99精品国产丝袜在线拍国语| 四虎影视永久在线观看精品| 亚洲AⅤ永久无码精品AA| 国内精品99亚洲免费高清| 8050免费午夜一级国产精品| 国产精品成人观看视频免费| 精品久久久久久无码中文字幕一区| 亚洲AV无码成人精品区大在线| 国内精品视频九九九九| 国产精品国产三级国产潘金莲| 久久国产乱子精品免费女| 97视频在线观看这里只有精品| 国产欧美亚洲精品A| 无码人妻精品一区二区三区在线| 一本一道久久a久久精品综合 | 中文字幕日韩精品在线| 国产三级精品三级在专区| 国产福利电影一区二区三区,欧美国产成人精品一 | 一本精品中文字幕在线| 亚洲AV永久无码精品一区二区| 久久午夜无码鲁丝片午夜精品| 精品久久久久久无码人妻蜜桃| 国产精品自在拍一区二区不卡| 国产成人精品福利网站在线| 国产精品v片在线观看不卡| 97r久久精品国产99国产精| 国产精品久久久久天天影视| 精品久久久久久国产91|