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的一个扩展form序列化到json对象
Dec 09 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
Jun 27 Javascript
限制textbox或textarea输入字符长度的JS代码
Oct 16 Javascript
JQuery结合CSS操作打印样式的方法
Dec 24 Javascript
教你用javascript实现随机标签云效果_附代码
Mar 16 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
Dec 26 Javascript
关于laydate.js加载laydate.css路径错误问题解决
Dec 27 Javascript
基于JavaScript中标识符的命名规则介绍
Jan 06 Javascript
从零开始搭建vue移动端项目到上线的步骤
Oct 15 Javascript
electron中使用bootstrap的示例代码
Nov 06 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
Jan 22 Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 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获取当前文件的父目录方法汇总
2016/07/21 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
JavaScript 动态创建VML的方法
2009/10/14 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
用最少的JS代码写出贪吃蛇游戏
2018/01/12 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
应用化学专业职业生涯规划书
2014/01/22 职场文书
化学教学随笔感言
2014/02/19 职场文书
《在家里》教后反思
2014/03/01 职场文书
项目合作协议书
2014/04/16 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
计算机网络专业求职信
2014/06/05 职场文书
机关作风建设工作总结
2014/10/23 职场文书
先进班集体事迹材料
2014/12/25 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
体育部部长竞选稿
2015/11/21 职场文书
go goth封装第三方认证库示例详解
2022/08/14 Golang