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 相关文章推荐
JS简单实现登陆验证附效果图
Nov 19 Javascript
ExtJS4给Combobox设置列表中的默认值示例
May 02 Javascript
jQuery实现根据类型自动显示和隐藏表单
Mar 18 Javascript
javascript深拷贝和浅拷贝详解
Feb 14 Javascript
简单实现jquery隔行变色
Nov 09 jQuery
vue中简单弹框dialog的实现方法
Feb 26 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
详解处理Vue单页面应用SEO的另一种思路
Nov 09 Javascript
详解js动态获取浏览器或页面等容器的宽高
Mar 13 Javascript
JS原型与继承操作示例
May 09 Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 Javascript
js之切换全屏和退出全屏实现代码实例
Sep 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
桌面中心(一)创建数据库
2006/10/09 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
初识Javascript小结
2015/07/16 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
在vue中使用G2图表的示例代码
2019/03/19 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
python获取当前计算机cpu数量的方法
2015/04/18 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
详解Python的Lambda函数与排序
2016/10/25 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
python scipy卷积运算的实现方法
2019/09/16 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
MIKI HOUSE美国官方网上商店:日本领先的婴儿和儿童高级时装品牌
2020/06/21 全球购物
高级文秘工作总结的自我评价
2013/09/28 职场文书
物业管理计划书
2014/01/10 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
一年级小学生评语大全
2014/12/25 职场文书
自信主题班会
2015/08/14 职场文书