原生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 相关文章推荐
JS模板实现方法
Apr 03 Javascript
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
jQuery.Ajax()的data参数类型详解
Jul 23 jQuery
深入理解React Native原生模块与JS模块通信的几种方式
Jul 24 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
webpack3之loader全解析
Oct 26 Javascript
vue实现树形菜单效果
Mar 19 Javascript
浅谈vue项目可以从哪些方面进行优化
May 05 Javascript
React中this丢失的四种解决方法
Mar 12 Javascript
webpack打包优化的几个方法总结
Feb 10 Javascript
element-ui 实现响应式导航栏的示例代码
May 08 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
May 28 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与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
javascript知识点收藏
2007/02/22 Javascript
javascript void(0)的妙用
2009/10/21 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
AngularJS快速入门
2015/04/02 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
Python内置函数dir详解
2015/04/14 Python
深入理解Python对Json的解析
2017/02/14 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
简单了解python关系(比较)运算符
2019/07/08 Python
Python如何调用JS文件中的函数
2019/08/16 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
在keras里实现自定义上采样层
2020/06/28 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
总经理职责
2013/12/22 职场文书
机关门卫岗位职责
2013/12/30 职场文书
社区元宵节活动总结
2015/02/06 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript