返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js实现验证码案例
  • 681
分享到

js实现验证码案例

2024-04-02 19:04:59 681人浏览 安东尼
摘要

本文实例为大家分享了js实现验证码的具体代码,供大家参考,具体内容如下 CSS代码: input{ width: 200px;

本文实例为大家分享了js实现验证码的具体代码,供大家参考,具体内容如下

CSS代码:


input{
            width: 200px;
            height: 32px;
            border: 1px solid #000;
            box-sizing: border-box;
        }
        #c1{
            vertical-align: middle;
            box-sizing: border-box;
            cursor: pointer;
        }
        #btn{
            display: block;
            margin-top: 20px;
            height: 32px;
            font-size: 16px;
 
        }

html代码:


<div class="code">
        <input type="text" value="" id="inputValue" placeholder="请输入验证码(不区分大小写)">
        <canvas id="c1" width="100" height="30" style="border:1px solid black"></canvas>
        <br>
        <button id="btn">提交</button>
</div>

js代码:

使用了部分Jquery的方法,请记得先引入jQuery


$(function(){
            // 存放随机的验证码
            var showNum = []
 
            draw(showNum)
 
            $("#c1").click(function(){
                draw(showNum)
            })
            $("#btn").click(function(){
                var s = $("#inputValue").val().toLowerCase()
                var s1 = showNum.join("")
                if (s==s1) {
                    alert("提交成功")
                }else{
                    alert("验证码错误")
                }
                draw(showNum)
            })
 
 
            // 封装一个把随机验证码放在画布上
            function draw(showNum){
                // 获取canvas
                var canvas = $("#c1")
                var ctx = canvas[0].getContext("2d")
                // 获取画布的宽高
                var canvas_width = canvas.width()
                var canvas_height = canvas.height()
                //  清空之前绘制的内容
                // 0,0清空的起始坐标
                // 矩形的宽高
                ctx.clearRect(0,0,canvas_width,canvas_height)
                // 开始绘制
                var scode = "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,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,1,2,3,4,5,6,7,8,9,"
                var arrCode = scode.split(",")
                var arrLength = arrCode.length
                for(var i = 0;i<4;i++){
                    var index = Math.floor(Math.random()*arrCode.length)
                    var txt = arrCode[index]//随机一个字符
                    showNum[i] = txt.toLowerCase()//转化为小写存入验证码数组
                    // 开始控制字符的绘制位置
                    var x = 10 +20*i //每一个验证码绘制的起始点x坐标
                    var y = 20 + Math.random()*8// 起始点y坐标
 
                    ctx.font = "bold 20px 微软雅黑"
                    // 开始旋转字符
                    var deg = Math.random*-0.5
                    // canvas 要实现绘制内容具有倾斜的效果,必须先平移,目的是把旋转点移动到绘制内容的地方
                    ctx.translate(x,y)
                    ctx.rotate(deg)
                    // 设置绘制的随机颜色
                    ctx.fillStyle = randomColor()
                    ctx.fillText(txt,0,0)
 
                    // 把canvas复原
                    ctx.rotate(-deg)
                    ctx.translate(-x,-y)
 
                }
                for(var i = 0;i<30;i++){
                    if (i<5) {
                        // 绘制线
                        ctx.strokeStyle = randomColor()
                        ctx.beginPath()
                        ctx.moveTo(Math.random()*canvas_width,Math.random()*canvas_height)
                        ctx.lineTo(Math.random()*canvas_width,Math.random()*canvas_height)
                        ctx.stroke()
                    }
                    // 绘制点
                    ctx.strokeStyle = randomColor()
                    ctx.beginPath()
                    var x = Math.random()*canvas_width
                    var y = Math.random()*canvas_height
                    ctx.moveTo(x,y)
                    ctx.lineTo(x+1,y+1)
                    ctx.stroke()
 
                }
 
 
            }
 
            // 随机颜色
            function randomColor(){
                var r = Math.floor(Math.random()*256)
                var g = Math.floor(Math.random()*256)
                var b = Math.floor(Math.random()*256)
                return `rgb(${r},${g},${b})`
 
            }
 
        })

随便写的案例,有错误还请大家多多指教

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

--结束END--

本文标题: js实现验证码案例

本文链接: https://lsjlt.com/news/155837.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js实现验证码案例
    本文实例为大家分享了js实现验证码的具体代码,供大家参考,具体内容如下 css代码: input{ width: 200px; ...
    99+
    2024-04-02
  • JS实现表单验证案例
    本文实例为大家分享了JS实现表单验证案例的具体代码,供大家参考,具体内容如下 1.当输入框失去焦点时,验证输入内容是否符合要求 (1)获取表单输入框(2)绑定 onblur 事件(...
    99+
    2024-04-02
  • JavaScript实现验证码案例
    本文实例为大家分享了JavaScript实现验证码效果的具体代码,供大家参考,具体内容如下 今天的案例,效果如下: 这个案例的实现其实没有很多难点,让我们一起来看看吧~ html和...
    99+
    2024-04-02
  • JS怎么实现验证码
    这篇文章主要介绍JS怎么实现验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体代码:<!DOCTYPE html><html lang="en">...
    99+
    2023-06-27
  • js canvas实现验证码并获取验证码功能
    本文实例为大家分享了js canvas制作验证码并获取验证码的具体代码,供大家参考,具体内容如下 最近没事写了一些小插件,今天要说的是包装一个验证码的js代码,如下: var ...
    99+
    2024-04-02
  • javascript实现发送短信验证码案例
    本文实例为大家分享了javascript实现发送短信验证码的具体代码,供大家参考,具体内容如下 效果如下: 代码思路: 1.按钮点击之后,会禁用disabled 为true2.同时...
    99+
    2024-04-02
  • js实现验证码输入框示例详解
    目录前言思路遇到的问题HTMLCSSJS前言 验证码输入框应该是很常见的需求吧,不知道各位小伙伴在在遇到的时候是选择找一找插件还是自己动手撸一个呢?我花了点时间撸了一个出来,实际体验...
    99+
    2024-04-02
  • JavaScript实现滑块验证案例
    本文实例为大家分享了JavaScript实现滑块验证的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en">  ...
    99+
    2024-04-02
  • JavaScript实现表单验证案例
    本文实例为大家分享了JavaScript实现表单验证的具体代码,供大家参考,具体内容如下 需求 有如下注册页面,对表单进行校验,如果输入的用户名、密码、手机号符合规则,则允许提交;...
    99+
    2024-04-02
  • JS实现随机生成验证码
    本文实例为大家分享了JS实现随机生成验证码的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head>...
    99+
    2024-04-02
  • JS实现图片验证码功能
    本文实例为大家分享了JS实现图片验证码功能的具体代码,供大家参考,具体内容如下 以下代码可以直接copy运行,不需要引入jquery.jar 1. html代码 <%@ pag...
    99+
    2024-04-02
  • JS 简单实现滑块验证码
    目录开篇:一、实现效果styleScript二、总结与思考开篇: 拖动底部滑块,实现滑块验证码功能 一、实现效果 style *{ margin: 0; padd...
    99+
    2023-05-14
    JS 滑块验证码 JS 验证码
  • JS怎么实现滑块验证码
    本篇内容介绍了“JS怎么实现滑块验证码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!style*{   &nb...
    99+
    2023-07-05
  • SpringBoot集成Redis实现验证码的简单案例
    目录一、下载安装Redis二、代码部分总结前言 一次学习过程中简单的记录 一、下载安装Redis 这里就不多说了,下载安装好Redis,最好是把Redis Desktop Manag...
    99+
    2024-04-02
  • JavaScript实现简单表单验证案例
    本文实例为大家分享了JavaScript实现简单表单验证的具体代码,供大家参考,具体内容如下 一.需求分析 要实现的功能: 1.出现如下图所示的内容:(HTML和CSS完成) 2....
    99+
    2024-04-02
  • JS如何实现图片验证码功能
    本篇内容主要讲解“JS如何实现图片验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS如何实现图片验证码功能”吧!1. html代码<%@ page langu...
    99+
    2023-06-30
  • 验证码案例(极验3滑动模式)
    文章目录 验证码案例 【极验3滑动模式】1 声明2 案例目标2.1 网站2.2 接口2.3 参数2.4 算法 3 验证流程分析3.1 抓包分析3.2 获取验证码图片3.2.1 大致流程3....
    99+
    2023-09-02
    python javascript node.js 爬虫 网络安全
  • Ajax实现邮箱验证实例代码
    html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF...
    99+
    2024-04-02
  • js canvas实现滑块验证
    本文实例为大家分享了js canvas实现滑块验证的具体代码,供大家参考,具体内容如下 滑块验证 话不多说先上代码想用的小伙伴可以直接使用,想了解的我后面会说下我的思路 <...
    99+
    2024-04-02
  • redis 手机验证码实现示例
    本文主要介绍了redis 手机验证码实现示例,分享给大家,具体如下: public class PhoneCode { public static void main...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作