原生js实现数字字母混合验证码的简单实例


Posted in Javascript onDecember 10, 2015

本文实例讲述了原生js实现数字字母混合验证码的全部代码,重点是注释很详细,便于大家理解,特分享给大家供大家参考。具体如下:
运行效果截图如下:

原生js实现数字字母混合验证码的简单实例

具体代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="gb2312">
  <title></title>
  <style type="text/css">
    body, div {
      margin: 0;
      padding: 0;
      font-size: 18px;
      font-family: "微软雅黑";
      -webkit-user-selelct: none;
    }

    #code {
      position: absolute;
      top: 50%;
      left: 50%;
      margin-top: -25px;
      margin-left: -50px;
      width: 100px;
      height: 50px;
      line-height: 50px;
      text-align: center;
      border: 1px solid #ff0000;
      cursor: pointer;
      letter-spacing: 5px;
    }
  </style>
</head>
<body>
<div id="code">
  xdF2
</div>
<script type="text/javascript">
  //当前验证码获取的随即范围
  var codeStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  //思想:0-61索引 只需要随机生成4个索引,然后charAt可以获取随机4个索引。
  var oDiv = document.getElementById("code");

  function getRandom(n, m) {
    n = Number(n);       //转换n,m,结果不是数字就是NaN
    m = Number(m);
    if (isNaN(n) || isNaN(m)) {     //判断n,m,是不是有效数字,如果n或m其中一个传入的不是数字
      return Math.random();      //返回 【0-1)之间的随机小数
    }
    if (n > m) {             //如果n大于m,则交换位置
      var temp = n;
      n = m;
      m = temp;
    }
    return Math.round(Math.random() * (m - n) + n);          //返回,取m,n之间的随机整数。
  }


  function getCode() {       
    var str = "";


//定义一个空字符串备用
    for (var i = 0; i < 4; i++) {    //遍历4个索引
      var ran = getRandom(0, 61);      //调用getRandom方法,随机获取一个索引0-61里的随机索引
      str += codeStr.charAt(ran);      //把codeStr字符串里,我们指定获取ran(这个4个索引);
    }
    oDiv.innerHTML = str;       //呈现在页面上
  }

  getCode();              //调用方法
          
  oDiv.onclick = function () {
    getCode();
  }
</script>
</body>
</html>
Javascript 相关文章推荐
一种JavaScript的设计模式
Nov 22 Javascript
Js 获取HTML DOM节点元素的方法小结
Apr 24 Javascript
JS代码放在head和body中的区别分析
Dec 01 Javascript
Javascript 判断是否存在函数的方法
Jan 03 Javascript
jQuery实现的Div窗口震动特效
Jun 09 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
Oct 08 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
Jan 20 Javascript
微信小程序-获得用户输入内容
Feb 13 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 Javascript
详解如何为你的angular app构建一个第三方库
Dec 07 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
Sep 05 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
js实现新年倒计时效果
Dec 10 #Javascript
jquery判断复选框是否选中进行答题提示特效
Dec 10 #Javascript
jQuery实现选项卡切换效果简单演示
Dec 09 #Javascript
jquery特效 点击展示与隐藏全文
Dec 09 #Javascript
AngularJS实现表单手动验证和表单自动验证
Dec 09 #Javascript
js实现微信分享代码
Oct 11 #Javascript
JavaScript观察者模式(经典)
Dec 09 #Javascript
You might like
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
laravel安装和配置教程
2014/10/29 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
cookie的secure属性详解
2015/04/08 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
prototype与__proto__区别详细介绍
2017/01/09 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
深入理解React高阶组件
2017/09/28 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
python检测是文件还是目录的方法
2015/07/03 Python
python 检查文件mime类型的方法
2018/12/08 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
2020/11/17 Python
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
自考毕业自我鉴定范文
2013/10/27 职场文书
婚庆司仪主持词
2014/03/15 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
禁止酒驾标语
2014/06/25 职场文书
个人授权委托书范文
2014/09/21 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android