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 相关文章推荐
封装好的省市地区联动控件附下载
Aug 13 Javascript
5个javascript的数字格式化函数分享
Dec 07 Javascript
jQuery之排序组件的深入解析
Jun 19 Javascript
jquery.qrcode在线生成二维码使用示例
Aug 21 Javascript
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
DOM基础教程之使用DOM + Css
Jan 20 Javascript
纯css实现窗户玻璃雨滴逼真效果
Aug 23 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
Jan 20 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 Javascript
微信小程序实现多选框全选与取消全选功能示例
May 14 Javascript
这应该是最详细的响应式系统讲解了
Jul 22 Javascript
在vue中使用Base64转码的案例
Aug 07 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
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
JavaScript触发器详解
2007/03/10 Javascript
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
PHP abstract与interface之间的区别
2013/11/11 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
python Django模板的使用方法
2016/01/14 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
python实现合并两个排序的链表
2019/03/03 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
python高级特性简介
2020/08/13 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
自我鉴定怎么写
2013/12/05 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
党员三严三实心得体会
2014/10/13 职场文书
大学学生个人总结
2015/02/15 职场文书
2015年药店工作总结
2015/04/20 职场文书
公司处罚决定书
2015/06/24 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle