验证码功能是现在网站开发中非常常见的一种功能,常见的编程语言,比如.NET,JAVA都能很容易实现验证码功能,今天我准备分享一个使用JS实现验证码的功能,非常简单使用,拿来就可以用,废话不多说,直接上传代码!

JS代码:

//生成验证码
var code = "";
function createCode(e) {code = "";var codeLength = 4;var selectChar = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');for (var i = 0; i < codeLength; i  ) {var charIndex = Math.floor(Math.random() * 60);code  = selectChar[charIndex];}if (code.length != codeLength) {createCode(e);}if (canGetCookie == 1) {setCookie(e, code, 60 * 60 * 60, '/');} else {return code;}
}

存储验证码到Cookie:

//hours为空字符串时,cookie的生存期至浏览器会话结束。
//hours为数字0时,建立的是一个失效的cookie,
//这个cookie会覆盖已经建立过的同名、同path的cookie(如果这个cookie存在)。
function setCookie(name, value, hours, path) {var name = escape(name);var value = escape(value);var expires = new Date();expires.setTime(expires.getTime()   hours * 3600000);path = path == "" ? "" : ";path="   path;_expires = (typeof hours) == "string" ? "" : ";expires="   expires.toUTCString();document.cookie = name   "="   value   _expires   path;
}

从Cookie获取验证码:

//cookie名获取值
function getCookieValue(name) {var name = escape(name);//读cookie属性,这将返回文档的所有cookie     var allcookies = document.cookie;//查找名为name的cookie的开始位置     name  = "=";var pos = allcookies.indexOf(name);//如果找到了具有该名字的cookie,那么提取并使用它的值     if (pos != -1) {    //如果pos值为-1则说明搜索"version="失败     var start = pos   name.length;   //cookie值开始的位置     var end = allcookies.indexOf(";", start); //从cookie值开始的位置起搜索第一个";"的位置,即cookie值结尾的位置     if (end == -1) end = allcookies.length; //如果end值为-1说明cookie列表里只有一个cookie     var value = allcookies.substring(start, end);  //提取cookie的值     return unescape(value);       //对它解码           }else return "-1";    //搜索失败,返回-1
}  

前端使用:

1.html代码:

      <div class='validation' style="opacity: 1; right: -5px;top: -3px;"><canvas class="J_codeimg" id="myCanvas" onclick="Code();">对不起,您的浏览器不支持canvas,请下载最新版浏览器!</canvas></div>

2.JS代码:

Code();function Code() {showCheck(createCode("test"));}function showCheck(a) {CodeVal = a;var c = document.getElementById("myCanvas");var ctx = c.getContext("2d");ctx.clearRect(0, 0, 1000, 1000);ctx.font = "80px 'Hiragino Sans GB'";ctx.fillStyle = "#E8DFE8";ctx.fillText(a, 0, 100);}

JS结合Cookie实现验证码功能相关推荐

  1. JS笔记-前端实现验证码功能

    程序运行截图如下: 当输入错误验证码点击登录后 输入正确验证码后,就可以跳转了. 这里主要是使用JS生成了验证码 程序结构如下 源码如下: vail.js //高.宽.字符大小.字符集 var w = ...

  2. JS实现的一个验证码,可以在前端验证后在提交action

    js实现的一个验证码功能,可以在前端判断验证码输入是否正确 输入的邮箱格式是否正确 验证成功后才提交action到后台 1<!DOCTYPE html PUBLIC "-//W3C// ...

  3. Vue+Spring Boot实现图片验证码、邮箱验证码以及Cookie记住我功能(前后端代码详解)

    Vue实现图片验证码.邮箱验证码以及Cookie记住我功能 前言 图片验证码实现 Vue前端实现 Spring Boot后端实现 邮箱验证码实现 Vue前端实现 Spring Boot后端实现 Coo ...

  4. html实现验证码效果,js实现验证码功能

    本文实例为大家分享了js实现验证码功能的具体代码,供大家参考,具体内容如下 #前面是拆解着讲的,不想看可以直接跳过,带注释的完整版代码和效果在后面 首先在页面中准备一个输入框,一个显示验证码的盒子和一 ...

  5. html验证码功能如何实现原理,基于JS实现一个随机生成验证码功能

    效果展示 实现原理 1. html:一般就是一个div: 2. JS:1)将所有的验证码所用的字符放在一个字符串中 2)在这个字符串的字符个数以内,随机生成索引号 3)根据索引号查找对应字符,拼接成验 ...

  6. vue.js项目实战运用篇之抖音视频APP-第十一节: 注册登录及验证码功能

    [温馨提示]:若想了解更多关于本次项目实战内容,可转至vue.js项目实战运用篇之抖音视频APP-项目规划中进一步了解项目规划. [项目地址] 项目采用Git进行管理,最终项目将会发布到GitHub中 ...

  7. html给手机号发送验证码,js如何实现手机发送验证码功能

    js如何实现手机发送验证码功能 发布时间:2021-06-21 12:24:46 来源:亿速云 阅读:82 作者:小新 这篇文章将为大家详细讲解有关js如何实现手机发送验证码功能,小编觉得挺实用的,因 ...

  8. 使用js实现验证码功能

    使用js实现验证码功能 通过随机数可以做到生成随机数的功能 如果设定了一段固定的字符串,通过随机数确立可以确定随机索引值,那么就可以生成特定数据内的随机数 实现: 定义数组:var str ='abc ...

  9. .NET Core实战项目之CMS 第十六章 用户登录及验证码功能实现

    前面为了方便我们只是简单实现了基本业务功能的增删改查,但是登录功能还没有实现,而登录又是系统所必须的,得益于 ASP.NET Core的可扩展性因此我们很容易实现我们的登录功能.今天我将带着大家一起来 ...

最新文章

  1. 在巨头壁垒下,人工智能细分领域涌现领跑者,这是AI真正的新机遇
  2. window 删除顽固 node_modules
  3. Wallop下蛋送邀请。
  4. Android之获取指定目录下的所有特殊文件名字
  5. c语言选择菜单程序设计,c语言课程设计报告-- 使用菜单选择趣味程序.doc
  6. js 弹窗并定时关闭
  7. 2018软工实践第五次作业——结对作业2
  8. pytroch中的Variable()介绍
  9. c语言通讯录感想,C语言通讯录实例分享
  10. 人的一生,到底在追求什么呢?
  11. Matlab App Designer 函数写法
  12. android手机 存储路径设置在哪里找,Android 存储路径选择方法
  13. html背景图片半透明遮罩,BufferedImage在图片添加半透明遮罩层
  14. C++不知算法系列之解析回溯算法中的人文哲学
  15. 一篇高中生都能看懂的MySQL入门博客(长文)
  16. ORB_SLAM2、ORB_SLAM3跑EuRocKITTI数据集及evo评估
  17. AnyTXT 一款强大的本地文件内容搜索软件
  18. 基于JSP+MySQL的网上购书商城
  19. 【结构生物学】基于AI辅助的结构蛋白质组学研究细胞内的蛋白质复合体
  20. YOLO训练自己的数据集的一些心得

热门文章

  1. 台电+android+电话,通话系统_台电 G17s_平板电脑评测-中关村在线
  2. linux 线程 拷贝,linux下实现多线程拷贝命令
  3. NOIP模拟测试20「周·任·飞」
  4. NOIP模拟测试19「count·dinner·chess」
  5. Web进程被kill掉后线程还在运行怎么办?
  6. Socket套接字 =======================
  7. bms_output.put_line使用方法
  8. paip.C#.NET多线程访问 toolStripStatusLabel
  9. 调用支付jsapi缺少参数:total_fee_小程序支付问题怎么解决?
  10. 北航计算机组成原理ppt,北航计算机组成原理课件.ppt