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小技巧
Mar 01 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
Dec 11 Javascript
php实例分享之实现显示网站运行时间
May 20 Javascript
jquery获取多个checkbox的值异步提交给php
Jul 07 Javascript
深入探秘jquery瀑布流的实现
Jan 30 Javascript
更高效的使用JQuery 这里总结了8个小技巧
Apr 13 Javascript
浅谈Javascript数组(推荐)
May 17 Javascript
微信小程序 登陆流程详细介绍
Jan 17 Javascript
vue-resource 拦截器(interceptor)的使用详解
Jul 04 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 Javascript
vue多页面项目中路由使用history模式的方法
Sep 23 Javascript
layui内置模块layim发送图片添加加载动画的方法
Sep 23 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
回帖脱衣服的图片实现代码
2014/02/15 PHP
php中session退出登陆问题
2014/02/27 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
2014/06/26 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
js类中的公有变量和私有变量
2008/07/24 Javascript
js获取div高度的代码
2008/08/09 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
汉语言文学专业求职信
2014/06/19 职场文书
赔偿协议书
2015/01/27 职场文书
2016春节慰问信范文
2015/03/25 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
nginx共享内存的机制详解
2022/03/21 Servers