原生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 相关文章推荐
初窥JQuery(二) 事件机制(1)
Nov 25 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
Oct 11 Javascript
原生Js实现简易烟花爆炸效果的方法
Mar 20 Javascript
JS模式之单例模式基本用法
Jun 30 Javascript
node.js中格式化数字增加千位符的几种方法
Jul 03 Javascript
JS实现黑色大气的二级导航菜单效果
Sep 18 Javascript
javascript实现别踩白块儿小游戏程序
Nov 22 Javascript
js获取及修改网页背景色和字体色的方法
Dec 29 Javascript
JS中artdialog弹出框控件之提交表单思路详解
Apr 18 Javascript
jquery select2的使用心得(推荐)
Dec 04 Javascript
JS日程管理插件FullCalendar中文说明文档
Feb 06 Javascript
vue slots 组件的组合/分发实例
Sep 06 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中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
图片自动更新(说明)
2006/10/02 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
js获取form的方法
2015/05/06 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
js a标签点击事件
2017/03/30 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
Python实现文件信息进行合并实例代码
2018/01/17 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
2019/10/24 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
python中upper是做什么用的
2020/07/20 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
汽车装潢店创业计划书范文
2014/02/05 职场文书
红旗方阵解说词
2014/02/12 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle