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 load方法用法集锦
Dec 06 Javascript
jquery表单验证使用插件formValidator
Nov 10 Javascript
如何用javascript计算文本框还能输入多少个字符
Jul 29 Javascript
jQuery解决$符号命名冲突
Jun 18 Javascript
JS控制TreeView的结点选择
Nov 11 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 Javascript
浅谈JS中的反柯里化( uncurrying)
Aug 17 Javascript
js截取字符串功能的实现方法
Sep 27 Javascript
浅谈Angular2 模块懒加载的方法
Oct 04 Javascript
fetch 如何实现请求数据
Dec 20 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
JS实现数组去重的11种方法总结
Apr 04 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 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python获取网页上图片下载地址的方法
2015/03/11 Python
简单介绍Python中的floor()方法
2015/05/15 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
Python常用数据分析模块原理解析
2020/07/20 Python
如何真正的了解python装饰器
2020/08/14 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
新闻网站实习自我鉴定
2013/09/25 职场文书
社会实践活动总结报告
2014/04/29 职场文书
选秀节目策划方案
2014/06/06 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
分享Python获取本机IP地址的几种方法
2022/03/17 Python
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js