JavaScript实现简单验证码


Posted in Javascript onAugust 24, 2020

JavaScript实现简单验证码,供大家参考,具体内容如下

验证流程图

JavaScript实现简单验证码

HTML部分

```javascript
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  .code {
    font-family: Arial;
    font-style: italic;
    color: blue;
    font-size: 26px;
    border: 0;
    padding: 0.2px 1.2px;
    letter-spacing: 4px;
    font-weight: bolder;
    float: left;
    cursor: pointer;
    width: 120px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    vertical-align: middle;
    background-color: #d8b7e3;
  }

  span {
    text-decoration: none;
    font-size: 12px;
    color: #288bc4;
    padding-left: 10px;
    /* color: #4c9b7675; */
  }

  span:hover {
    text-decoration: underline;
    cursor: pointer;
    /* color: rgb(rgb(221, 84, 84), green, blue); */
    /* color: rgb(rgb(160, 207, 209), green, blue); */
  }
</style>

<body>
  <div>
    <table border="0" cellspacing="5" cellpadding="5">
      <tr>
        <td>
          <div id="checkCode" class="code" onclick="createCode(4)">543</div>
        </td>
        <td> <span onclick="createCode(4)">看不清换一张</span></td>
      </tr>
      <tr>
        <td>验证码:</td>
        <td><input type="text" id="inputCode" style="float:left;" /></td>
      </tr>
      <tr>
        <td></td>
        <td><input type="button" onclick="validateCode()" value="确定" /></td>
      </tr>
    </table>
</div>

JavaScript部分

window.onload = function () {
      createCode(4);
    }


    // 创建验证码
    function createCode(len) {
      // 
      var code = '';
      var codeLength = parseInt(len); //验证码的长度
      var checkCode = document.getElementById('checkCode'); //获取画布
      // 设置验证码
      var codeArray = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'z', 'x', 'c', 'v', 'b', 'n', 'm', 'l', 'k', 'j', 'h', 'g', 'f', 'd', 's', 'a', 'p', 'o', 'i', 'u', 'y', 't', 'r', 'r', 'e', 'w', 'q', "Z", 'X', 'C', "V", "B", "N", "M", "A", "S", "D", "F", "G", "H", "J", "L", "K", "P", "O", "I", "U", "Y", "T", "R", "E", "W", "Q")

      //设置验证码颜色
      // var num= Math.floor(Math.random() * 8)
      var color = '#';
      var bgcolor = '#';
      var fontcolor = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f');

      // 循环数组,随机获取
      for (var i = 0; i < codeLength; i++) {
        //获取数组下标
        var charNum = Math.floor(Math.random() * 62);
        // 存储数组
        code = code + codeArray[charNum];
      }
      if (checkCode && code.length == codeLength) {
        checkCode.innerHTML = code;
      }

      // 设置验证码颜色
      for (var i = 0; i < 6; i++) {
        var colorNum = Math.floor(Math.random() * 15);
        color += fontcolor[colorNum];
      }
      console.log(color)
      checkCode.style.color = color;
      
      // 设置画布背景颜色
      for (var i = 0; i < 6; i++) {
        var colorNum = Math.floor(Math.random() * 15);
        bgcolor += fontcolor[colorNum];
      }
      checkCode.style.backgroundColor = bgcolor;

    }

    // 检验验证码是否正确
    function validateCode() {
      // 获取画布的验证码
      var checkCode = document.getElementById("checkCode").innerHTML;
      // 获取用户输入的验证码,并且去掉空格
      var inputCode = document.getElementById('inputCode').value.trim();

      console.log(checkCode)
      console.log(inputCode)

      // 判断是否相等
      if (inputCode.length < 4) {
        alert('验证码长度为四位');
        createCode(4);
      } else if (checkCode.toLocaleLowerCase() != inputCode.toLocaleLowerCase()) {
        alert('输入验证码不正确!');
        createCode(4);
      } else {
        alert('正确')
      }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 点击按钮弹出另一页,选择值后,返回到当前页
May 26 Javascript
js前台判断开始时间是否小于结束时间
Feb 23 Javascript
JavaScript中读取和保存文件实例
May 08 Javascript
js操作iframe父子窗体示例
May 22 Javascript
基于javascript的COOkie的操作实现只能点一次
Dec 26 Javascript
jQuery 中DOM 操作详解
Jan 13 Javascript
如何用JavaScript实现动态修改CSS样式表
May 20 Javascript
从源码看angular/material2 中 dialog模块的实现方法
Oct 18 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
vue.js实现带日期星期的数字时钟功能示例
Aug 28 Javascript
浅谈KOA2 Restful方式路由初探
Mar 14 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
Sep 24 Javascript
JavaScript经典案例之简易计算器
Aug 24 #Javascript
原生js实现拖拽移动与缩放效果
Aug 24 #Javascript
JavaScript实现拖拽和缩放效果
Aug 24 #Javascript
Jquery 获取相同NAME 或者id删除行操作
Aug 24 #jQuery
JavaScript实现矩形块大小任意缩放
Aug 25 #Javascript
VSCode插件安装完成后的配置(常用配置)
Aug 24 #Javascript
JS实现按比例缩小图片宽高
Aug 24 #Javascript
You might like
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
JavaScript 异步调用框架 (Part 3 - 代码实现)
2009/08/04 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
关于jQuery中.attr()和.prop()的问题探讨
2013/09/06 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
社区国庆节活动方案
2014/02/05 职场文书
成绩单公证书
2014/04/10 职场文书
新闻编辑求职信
2014/07/13 职场文书
新闻传播专业求职信
2014/07/22 职场文书
教师节祝酒词
2015/08/11 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript