JavaScript使用Math.random()生成简单的验证码


Posted in Javascript onJanuary 21, 2019

第一种:单纯的纯数字验证码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>js验证码</title>
</head>
<body>
<div class="yzm" style="width: 20%;height: 300px;text-align: center;background-color: pink;line-height: 200px;"></div>
</body>
</html>
<script>
  window.onload = function () {
    var yzm=document.querySelector(".yzm");
    //页面一加载完成就生成随机数调用rand()
    yzm.innerHTML=rand(5);
    //点击切换随机码
    yzm.onclick=function() {
      var num = rand(5);
      this.innerHTML = num;
    };
    //生成随机码
    function rand(number){
   //用来存储产生的随机数
    var num="";
      for(var i=0;i<number;i++){
        num+=Math.floor(Math.random()*10)
      }
      return num;
    }
  }
</script>

第二种:输入的验证码与生成的验证码进行校验(数字与字母相结合)

<html>
<head>
  <meta charset="UTF-8">
  <title>验证码</title>
  <style type="text/css">
    #code
    {
      font-family:Arial;
      font-style:italic;
      font-weight:bold;
      border:0;
      letter-spacing:2px;
      color:blue;
    }
  </style>
</head>
<body>
<div>
  <input type = "text" id = "input"/>
  <input type = "button" id="code" onclick="createCode()"/>
  <input type = "button" value = "验证" onclick = "validate()"/>
</div>
</body>
</html>
<script>
  var code ; //在全局定义验证码
  var number = 5;//验证码生成的个数
  var checkCode = document.getElementById("code");
  //产生验证码(页面一加载就生成)
  window.onload = function (){
    createCode();
  };
  //产生验证码(输入错误的时候刷新验证码,函数调用)
  function createCode(){
    code = "";
    var codeLength = number;//验证码的长度
//    var checkCode = document.getElementById("code");
    var random = [0,1,2,3,4,5,6,7,8,9,'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'];//随机数
    for(var i = 0; i < codeLength; i++) {//循环操作
      var index = Math.floor(Math.random()*random.length);//取得随机数的索引(random.length)
      code += random[index];//根据索引取得随机数加到code上
    }
    checkCode.value = code;//把code值赋给验证码
  }
  //校验验证码
  function validate(){
    var inputCode = document.getElementById("input").value.toUpperCase(); //取得输入的验证码并转化为大写
    if(inputCode.length <= 0) { //若输入的验证码长度为0
      alert("请输入验证码!"); //则弹出请输入验证码
    } else if(inputCode != code.toUpperCase() ) { //将随机产生的验证码转化为大写,若输入的验证码与产生的验证码不一致时
      alert("验证码输入错误!@_@"); //则弹出验证码输入错误
      createCode();//刷新验证码
      document.getElementById("input").value = "";//清空文本框
    }
    else { //输入正确时
      alert("正确^-^"); //弹出^-^
    }
  }
</script>

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
jQuery 标题的自动翻转实现代码
Oct 14 Javascript
改进版通过Json对象实现深复制的方法
Oct 24 Javascript
JS自定义对象实现Java中Map对象功能的方法
Jan 20 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
Mar 15 Javascript
JavaScript中定义类的方式详解
Jan 07 Javascript
详解Vue中过度动画效果应用
May 25 Javascript
快速将Vue项目升级到webpack3的方法步骤
Sep 14 Javascript
three.js 入门案例详解
Jan 23 Javascript
详解 vue better-scroll滚动插件排坑
Feb 08 Javascript
JS高阶函数原理与用法实例分析
Jan 15 Javascript
Vue 实现从小到大的横向滑动效果详解
Oct 16 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
Apr 09 Javascript
详解一个基于react+webpack的多页面应用配置
Jan 21 #Javascript
js中对象和面向对象与Json介绍
Jan 21 #Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
Jan 21 #Javascript
JavaScript常用事件介绍
Jan 21 #Javascript
JavaScript使用闭包模仿块级作用域操作示例
Jan 21 #Javascript
JavaScript闭包与作用域链实例分析
Jan 21 #Javascript
js中事件对象和事件委托的介绍
Jan 21 #Javascript
You might like
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
javascript onmouseout 解决办法
2010/07/17 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
jquery实现的伪分页效果代码
2015/10/29 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
推荐一个基于Node.js的表单验证库
2019/02/15 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
Python 除法小技巧
2008/09/06 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
python中pivot()函数基础知识点
2021/01/03 Python
如何实现一个自定义类的序列化
2012/05/22 面试题
工商管理本科毕业生求职信范文
2013/10/05 职场文书
教师评优事迹材料
2014/01/10 职场文书
卖车协议书
2014/04/21 职场文书
工会换届选举方案
2014/05/21 职场文书
2014年廉洁自律承诺书
2014/05/26 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
辩护意见书
2015/06/04 职场文书
天气温馨提示语
2015/07/14 职场文书
2016年春节问候语
2015/11/11 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
MySQL数据库完全卸载的方法
2022/03/03 MySQL
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server
Springboot中如何自动转JSON输出
2022/06/16 Java/Android