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 相关文章推荐
原始XMLHttpRequest方法详情回顾
Nov 28 Javascript
js控制台输出的方法(详解)
Nov 26 Javascript
JavaScript中动态向表格添加数据
Jan 24 Javascript
JS实现购物车特效
Feb 02 Javascript
Bootstrap中data-target 到底是什么
Feb 14 Javascript
vue中rem的配置的方法示例
Aug 30 Javascript
jQuery实现的中英文切换功能示例
Jan 11 jQuery
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 Javascript
JQuery animate动画应用示例
May 14 jQuery
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
Jun 11 Javascript
axios封装与传参示例详解
Oct 18 Javascript
vue中控制mock在开发环境使用,在生产环境禁用方式
Apr 06 Vue.js
详解一个基于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之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
2010/07/25 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
Delphi笔试题
2016/11/14 面试题
施工人员岗位职责
2013/12/12 职场文书
加拿大探亲邀请信
2014/01/28 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技