当前位置: 首页 > news >正文

【5款登录验证校验】基于jquery实现的5款登录验证码组件(附完整源码)


文章目录

  • 写在前面
  • 涉及知识点
  • 1、随机字母验证码
    • 1.1 效果
    • 1.2 实现源码
  • 2、数字运算验证码
    • 2.1 效果
    • 2.2 实现源码
  • 3、滑块验证码
    • 3.1 效果
    • 3.2 实现源码
  • 4、图片补全验证码
    • 4.1 效果
    • 4.2 实现源码
  • 5、顺序点选验证码
    • 5.1 效果
    • 5.2 实现源码
  • 6、源码分享
    • 6.1 百度网盘
    • 6.2 123网盘
    • 6.3 邮箱留言
  • 总结


写在前面

写文章之前我总有一个习惯去说明一下我的创作背景,其实也是怕后面年纪大了记性不好,这次是我偶然翻到上次做的安全漏洞修复项目,里面就有一个登录校验的要求,防止一些机器模拟登录,这不需要添加一个随机码的填入校验,这次我就基于前端角度去看市面上常见的5种验证码组件。

涉及知识点

多种前端登录验证码实现源码,常见登录验证校验实现demo,如何实现数字运算验证码,随机字母验证码,拖动滑块验证码的实现方法,按顺序点击文字验证码的实现方法,如何实现拖动缺块到正确位置的验证码,多种前端验证码的实现方式,5种常见的前端验证码实现demo。
版权声明:此文原创于CSDN博主-《拄杖盲学轻声码》,主页有很多分享的代码,期待您的访问。

【切记】其实以下5种web验证码主要的实现方式还是通过引入verify.js组件,基于jquery来实现的,完整源码在第六章节可以自行下载。

1、随机字母验证码

这个是我们最初最常见的验证码了,通过生成随机的数字或者英文字母,或者两者混合,然后可以点击随机生成,最终输入匹配则校验通过。

1.1 效果

在这里插入图片描述

1.2 实现源码

html源码

<div class="validatePart"><h3>随机数字字符验证码</h3><div id="mpanel2"></div><button type="button" id="check-btn" class="verify-btn">确定</button>
</div>

Js源码

$('#mpanel2').codeVerify({type: 1,width: '200px',height: '50px',fontSize: '30px',codeLength: 6,btnId: 'check-btn',ready: function () {},success: function () {alert('验证匹配!');},error: function () {alert('验证码不匹配!');}
});

2、数字运算验证码

其实这个在先前软考查询成绩的官网上就最常见了,当时为了查询软考成绩,复习了不少小学数学运算呢。

2.1 效果

在这里插入图片描述

2.2 实现源码

html源码

<div class="validatePart"><h3>数字运算验证码</h3><div id="mpanel3" style="margin-top: 20px"></div><button type="button" id="check-btn2" class="verify-btn">确定</button>
</div>

Js源码

$('#mpanel3').codeVerify({type: 2,figure: 100,	//位数,仅在type=2时生效arith: 0,	//算法,支持加减乘,不填为随机,仅在type=2时生效width: '200px',height: '50px',fontSize: '30px',btnId: 'check-btn2',ready: function () {},success: function () {alert('验证匹配!');},error: function () {alert('验证码不匹配!');}
});

版权声明:此文原创于CSDN博主-《拄杖盲学轻声码》,主页有很多分享的代码,期待您的访问。

3、滑块验证码

滑块其实也是后面的人机校验常见的,一开始都是死的,被很多爬虫算法给识别模拟了,因此拖动校验的方式也应运而生。

3.1 效果

在这里插入图片描述

3.2 实现源码

html源码

<div class="validatePart"><h3>滑块拖动验证码</h3><div id="mpanel1"></div>
</div>

Js源码

$('#mpanel1').slideVerify({type: 1,		//类型vOffset: 5,	//误差量,根据需求自行调整barSize: {width: '80%',height: '40px',},ready: function () {},success: function () {alert('验证成功,添加你自己的代码!');//......后续操作},error: function () {//		        	alert('验证失败!');}
});

4、图片补全验证码

这个和第三个是有点类似的,但是要求更高,要拖动到准确位置才能通过校验,也是目前市面上用的最多的一种安全验证的方式。

4.1 效果

在这里插入图片描述

4.2 实现源码

html源码

<div class="validatePart"><h3>图片补全验证码</h3><div id="mpanel4" style="margin-top:0px;"></div>
</div>

Js源码

$('#mpanel4').slideVerify({type: 2,		//类型vOffset: 5,	//误差量,根据需求自行调整vSpace: 5,	//间隔imgName: ['1.jpg', '2.jpg'],imgSize: {width: '400px',height: '200px',},blockSize: {width: '40px',height: '40px',},barSize: {width: '400px',height: '40px',},ready: function () {},success: function () {alert('验证成功,添加你自己的代码!');//......后续操作},error: function () {//		        	alert('验证失败!');}
});

5、顺序点选验证码

最早时候应该是火车购票系统,当时被很多人吐槽了的,就是找出什么锅碗瓢盆的点击验证,这个目前换了一种方式,就是按照给出的文字去几个备选的里面找出来,不然就不能通过验证,相对来说更需要有文字(图像)识别能力

5.1 效果

在这里插入图片描述

5.2 实现源码

html源码

<div class="validatePart"><h3>按顺序点选验证码</h3><div id="mpanel6" style="margin-top:10px;"></div>
</div>

Js源码

$('#mpanel6').pointsVerify({defaultNum: 4,	//默认的文字数量checkNum: 2,	//校对的文字数量vSpace: 5,	//间隔imgName: ['1.jpg', '2.jpg'],imgSize: {width: '600px',height: '200px',},barSize: {width: '600px',height: '40px',},ready: function () {},success: function () {alert('验证成功,添加你自己的代码!');//......后续操作},error: function () {//		        	alert('验证失败!');}
});

我主要是把我看到的常见一些登录验证场景给大家做了一个罗列与展示,希望能够让大家从中学到一些web登录验证相关的知识,当然如果大家有更多的前端验证码场景可以留言哈,一起互相学习互相进步!

6、源码分享

6.1 百度网盘

链接:https://pan.baidu.com/s/1W2tzFkQN99vkjzfZf4K67w
提取码:hdd6

6.2 123网盘

链接:https://www.123pan.com/s/ZxkUVv-AaI4.html
提取码:hdd6

6.3 邮箱留言

评论区留下您的邮箱账号,博主看到第一时间发给您,祝您生活愉快!


总结

以上就是今天要讲的内容,本文主要介绍了多种前端登录验证码实现源码,常见登录验证校验实现demo,如何实现数字运算验证码,随机字母验证码,拖动滑块验证码的实现方法,按顺序点击文字验证码的实现方法,如何实现拖动缺块到正确位置的验证码,多种前端验证码的实现方式,5种常见的前端验证码实现demo,也期待大家一起进步哈,2023年一起加油!!!

版权声明:此文原创于CSDN博主-《拄杖盲学轻声码》,主页有很多分享的代码,期待您的访问。

相关文章:

【5款登录验证校验】基于jquery实现的5款登录验证码组件(附完整源码)

文章目录 写在前面涉及知识点1、随机字母验证码1.1 效果1.2 实现源码 2、数字运算验证码2.1 效果2.2 实现源码 3、滑块验证码3.1 效果3.2 实现源码 4、图片补全验证码4.1 效果4.2 实现源码 5、顺序点选验证码5.1 效果5.2 实现源码 6、源码分享6.1 百度网盘6.2 123网盘6.3 邮箱留…...

数据结构的树存储结构

数据结构的树存储结构 之前介绍的所有的数据结构都是线性存储结构。本章所介绍的树结构是一种非线性存储结构&#xff0c;存储的是具有“一对多”关系的数据元素的集合。 (A) (B) 图 1 树的示例 图 …...

linux--epoll

epoll 参考文献 https://www.cnblogs.com/lojunren/p/3856290.html https://www.51cto.com/article/717096.html linux下的I/O复用epoll详解 要深刻理解epoll&#xff0c;首先得了解epoll的三大关键要素&#xff1a;mmap、红黑树、链表。 IO多路复用 首先需要了解什么是IO多…...

async和await

一&#xff0c;基本使用 其实就是之前学过的异步函数&#xff0c;异步编程在函数前写一个ansyc&#xff0c;就转化为异步函数&#xff0c;返回的是一个promise对象&#xff0c;于是就可以使用await关键字&#xff0c;可以把异步函数写成同步函数的形式&#xff0c;极大地提高代…...

如何从cpu改为gpu,pytorch,cuda

1.cmd输入nvcc -V 2.得到 cuda版本后&#xff0c;去pytorch官网 3.根据自己的cuda进行选择 4.复制上述链接&#xff0c;进入cmd 5.cmd中输入activate XXX,这里的"XXX"指代自己在工程中用到的环境 6.进入后&#xff0c;将刚才链接粘贴&#xff0c;回车等待下载结束 …...

JavaScript简介--语句--变量

目录 JavaScript简介 为什么学习 JavaScript JavaScript与ECMAScript的关系 JavaScript版本 JavaScript语句、标识符 语句 标识符 JavaScript保留关键字 变量 变量的命名规则 数据类型 变量的重新赋值 变量提升 运算符 条件语句 循环语句 JavaScript简介 JavaScri…...

Windows CMD 关闭,启动程序

Windows CMD 关闭&#xff0c;启动程序 1. Windows 通过 CMD 命令行关闭程序 示例&#xff1a;通过 taskkill 命令关闭 QQ 管家&#xff0c;但是这里有个问题&#xff0c;使用命令行关闭 QQ 管家时&#xff0c;会提示“错误: 无法终止 PID 1400 (属于 PID 22116 子进程)的进程…...

统计XML标注文件中各标注类别的标签数量

目标检测任务重&#xff0c;担心数据集中各标签类别不均衡&#xff0c;想统计XML标注文件中各标注类别的标签数量&#xff0c;可以使用以下脚本&#xff1a; import os import glob import xml.etree.ElementTree as etdef count_labels(source_dir):file_list glob.glob(os.…...

一百六十、Kettle——Linux上安装的Kettle9.2.0连接Hive3.1.2

一、目标 Kettle9.2.0在Linux上安装好后&#xff0c;需要与Hive3.1.2数据库建立连接 之前已经在本地上用kettle9.2.0连上Hive3.1.2 二、各工具版本 &#xff08;一&#xff09;kettle9.2.0 kettle9.2.0安装包网盘链接 链接&#xff1a;https://pan.baidu.com/s/15Zq9w…...

C++新经典03--共用体、枚举类型与typedef

共用体 共用体&#xff0c;也叫联合&#xff0c;有时候需要把几种不同类型的变量存放到同一段内存单元&#xff0c;例如&#xff0c;把一个整型变量、一个字符型变量、一个字符数组放在同一个地址开始的内存单元中。这三个变量在内存中占的字节数不同&#xff0c;但它们都从同…...

HCIP-OpenStack组件介绍

openstack把这些组件服务都集成到httpd服务中了&#xff0c;目的是为了提升性能。登入不了openstack在控制节点查下httpd服务&#xff0c;systemctl status httpd Horizon&#xff1a;提供webUI图形化界面的 Keystone&#xff1a;提供身份认证服务、授权、endpoint端点&#xf…...

2682. 找出转圈游戏输家

题目描述&#xff1a; n 个朋友在玩游戏。这些朋友坐成一个圈&#xff0c;按 顺时针方向 从 1 到 n 编号。从第 i 个朋友的位置开始顺时针移动 1 步会到达第 (i 1) 个朋友的位置&#xff08;1 < i < n&#xff09;&#xff0c;而从第 n 个朋友的位置开始顺时针移动 1 步…...

RESTAPI简介与DRF使用

RESTAPI 以资源为url&#xff0c;通过不同的请求方式实现不同的行为。 以资源名作为url POST:增 …/student/ GET&#xff1a;查所有 …/student/ GET&#xff1a;查单个 …/student/<pk>/ 获取idpk的学生 DELETE&#xff1a;删 …/student/<pk>/ PUT&#…...

深度学习笔记(kaggle课程《Intro to Deep Learning》)

一、什么是深度学习&#xff1f; 深度学习是一种机器学习方法&#xff0c;通过构建和训练深层神经网络来处理和理解数据。它模仿人脑神经系统的工作方式&#xff0c;通过多层次的神经网络结构来学习和提取数据的特征。深度学习在图像识别、语音识别、自然语言处理等领域取得了…...

windows下载任意版本php

zz​​​​​​​windows.php.net - /downloads/releases/archives/ windows下载php&#xff0c;记录一下...

Linux命令

操作系统管理硬件设备&#xff0c;并为用户和应用程序提供一个简单的接口&#xff0c;以便于使用。&#xff08;作为中间人&#xff0c;连接软件和硬件&#xff09;不同应用领域的主流操作系统 桌面操作系统 Windows系列:&#xff1a;用户群体大 macOS&#xff1a;适合于开发人…...

TDD(测试驱动开发)?

01、前言 很早之前&#xff0c;曾在网络上见到过 TDD 这 3 个大写的英文字母&#xff0c;它是 Test Driven Development 这三个单词的缩写&#xff0c;也就是“测试驱动开发”的意思——听起来很不错的一种理念。 其理念主要是确保两件事&#xff1a; 确保所有的需求都能被照…...

C/C++

const 作用 修饰变量&#xff0c;说明该变量不可以被改变&#xff1b;修饰指针&#xff0c;分为指向常量的指针&#xff08;pointer to const&#xff09;和自身是常量的指针&#xff08;常量指针&#xff0c;const pointer&#xff09;&#xff1b;修饰引用&#xff0c;指向…...

CCF C³ 走进百度:大模型与可持续生态发展

2023年8月10日&#xff0c;由CCF CTO Club发起的第22期C活动在百度北京总部进行&#xff0c;以“AI大语言模型技术与生态发展”主题&#xff0c;50余位企业界、学界专家、研究人员就此进行深入探讨。 CCF C走进百度 本次活动&#xff0c;CCF秘书长唐卫清与百度集团副总裁、深…...

Vue使用html2canvas将DOM节点生成对应的PDF

要通过Vue使用html2canvas将DOM节点生成对应的PDF&#xff0c;您需要安装html2canvas和jspdf这两个库。html2canvas用于将DOM节点转换为Canvas&#xff0c;而jspdf用于将Canvas转换为PDF。以下是一个简单的示例代码&#xff0c;展示了如何使用html2canvas和jspdf生成PDF文件&am…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...