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 相关文章推荐
EasySlider 基于jQuery功能强大简单易用的滑动门插件
Jun 11 Javascript
有关javascript的性能优化 (repaint和reflow)
Apr 12 Javascript
做好七件事帮你提升jQuery的性能
Feb 06 Javascript
JS控制按钮10秒钟后可用的方法
Dec 22 Javascript
javascript瀑布流布局实现方法详解
Feb 17 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
Jun 02 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
Vue上传组件vue Simple Uploader的用法示例
Aug 25 Javascript
详解js的作用域、预解析机制
Feb 05 Javascript
vue动态改变背景图片demo分享
Sep 13 Javascript
简单说说如何使用vue-router插件的方法
Apr 08 Javascript
自定义Vue中的v-module双向绑定的实现
Apr 17 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将数据导入到Foxmail
2006/10/09 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
PHP处理会话函数大总结
2015/08/05 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
PHP单例模式是什么 php实现单例模式的方法
2016/05/14 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
window.location 对象所包含的属性
2014/10/10 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
javascript history对象详解
2017/02/09 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
Python中sort和sorted函数代码解析
2018/01/25 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
浅析Python requests 模块
2020/10/09 Python
如何通过python检查文件是否被占用
2020/12/18 Python
办公室主任岗位职责
2013/11/08 职场文书
写自荐信要注意什么
2013/12/26 职场文书
电脑饰品店的创业计划书
2014/01/21 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
需求分析说明书
2014/05/09 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL