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文本框不能输入空格验证方法
Mar 19 Javascript
jQuery类选择器用法实例
Dec 23 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
Dec 24 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
Aug 12 Javascript
vue 登录滑动验证实现代码
Aug 24 Javascript
微信小程序自定义弹窗wcPop插件
Nov 19 Javascript
微信小程序合法域名配置方法
May 06 Javascript
js实现轮播图特效
May 28 Javascript
Vue路由切换页面不更新问题解决方案
Jul 10 Javascript
Bootstrap FileInput实现图片上传功能
Jan 28 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 批量添加多行文本框textarea一行一个
2014/06/03 PHP
php 基础函数
2017/02/10 PHP
php实现微信支付之现金红包
2018/05/30 PHP
PHP实现的日历功能示例
2018/09/01 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
js实现蒙版效果
2020/01/11 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
Python读取stdin方法实例
2019/05/24 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
英语教师自荐信
2014/05/26 职场文书
2016国培研修心得体会
2016/01/08 职场文书
Canvas跟随鼠标炫彩小球的实现
2021/04/11 Javascript
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
PyTorch中的torch.cat简单介绍
2022/03/17 Python