京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Html5天生验证码的示例代码

2024-11-2 22:38| 发布者: 2ae29| 查看: 79| 评论: 0

摘要: 使用Html5的canvas标签天生画布,在画布上使用随机天生的数字画上验证码,背景为随机天生的颜色和紊乱的直线与点点。 进阶:使用表单插件属性绑定验证码数据(json)可以在发送时间大概异步通信举行后台数据获取与检查

使用Html5的canvas标签天生画布,在画布上使用随机天生的数字画上验证码,背景为随机天生的颜色和紊乱的直线与点点。

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

代码块

[code] <!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>[/code]

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


来源:https://www.jb51.net/html5/774748.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-2 09:26 , Processed in 0.028940 second(s), 18 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部