JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了js+canvas实现验证码功能大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

刚刚开始接触canvas,写个验证码小功能练练手,实现效果图如下:

主要代码如下:

html

http-equiv="X-UA-Compatible" content="ie=edge"> Document

css

{ margin: 0; padding: 0; }

.wrapper {
width: 345px;
border: 1px solid #ccc;
border-radius: 10px;
padding: 20px 10px;
margin: 30px 30px;
}

.inputBox {
width: 345px;
margin: 0 auto 10px;
position: relative;
}

.inputBox .inputCaptcha {
display: inline-block;
height: 50px;
width: 86%;
text-indent: 1em;
border: 1px solid #ddd;
border-radius: 5px;
}

.inputBox .captchaIcon {
display: none;
position: absolute;
top: 50%;
right: 0px;
margin-top: -16px;
width: 32px;
height: 32px;
BACkground-size: 100% 100%;
}

.errorText {
width: 345px;
margin: 0 auto;
font-size: 12px;
color: red;
display: none;
}

.canvasBox {
width: 345px;
margin: 10px auto;
position: relative;
}

canvasCaptcha {

border-radius: 10px;
}

.canvasBox .refresh {
width: 34px;
height: 34px;
position: absolute;
right: 0px;
top: 50%;
margin-top: -17px;
border: 0;
border-radius: 6px;
BACkground-image: url('./images/update.png');
BACkground-size: cover;
}

.captchaSubmit {
padding: 10px 20px;
BACkground-color: #62b900;
border: 0;
font-size: 20px;
border-radius: 5px;
color: #fff;
}

js

5;i < 122;i++){ if(i>90&&i<97){ conTinue; } arr.push(String.fromCharCode(i)); } //每个验证码可能出现的字母或数字(区分大小写) var len = arr.length; //验证码的长度 var canvasStr,value; //验证码值 function createCanvas(){ canvasStr = ''; value = ''; for(var i =0 ;i < 6;i++){ var a = arr[Math.floor(Math.random()*len)]; canvasStr += a+' '; value += a; } //canvas var oCanvas = document.getElementById('canvasCaptcha'); var ctx = oCanvas.getContext('2d'); var w = oCanvas.width; var h = oCanvas.height; var oImg = new Image(); oImg.src = './images/bg.jpg'; oImg.onload = function(){ var pattern = ctx.createPattern(oImg,'repeat'); ctx.fillStyle = pattern; ctx.fillRect(0,w,h); ctx.fillStyle = '#ccc'; ctx.textAlign = 'center'; ctx.font = '46px Roboto Slab'; ctx.setTransform(1,-0.12,0.2,12); ctx.fillText(canvasStr,w/2,60); } }

createCanvas();

//验证输入的验证码与图中验证码时候相等
function captcha(E){
if(e == value){
return true;
}
else{
return false;
}
}

//点击提交按钮时的结果
function showResult(){
var inputValue = $('.inputCaptcha').val();

if(inputValue == '' ||inputValue == null || inputValue == 'undefined'){
$('.errorText').css({display:'inline-block'}).html('验证码不能为空,请重新输入!');
$('.captchaIcon').css({display:'inline-block',BACkgroundImage:"url('./images/false.png')"});
}else{
var flag = captcha(inputvalue);
if(!flag){
$('.errorText').css({display:'inline-block'}).html('验证码错误,请重新输入!');
$('.captchaIcon').css({display:'inline-block',BACkgroundImage:"url('./images/false.png')"});
}else{
$('.captchaIcon').css({display:'inline-block',BACkgroundImage:"url('./images/true.png')"});
}
}
}
$('.captchaSubmit').click(showResult);//提交
$('.refresh').click(createCanvas);//刷新
//点击input框
$('.inputCaptcha').focus(function(){
$('.errorText').add($('.captchaIcon')).fadeOut(100);
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程。

大佬总结

以上是大佬教程为你收集整理的js+canvas实现验证码功能全部内容,希望文章能够帮你解决js+canvas实现验证码功能所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:js验证码
猜你在找的JavaScript相关文章