原生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 相关文章推荐
懒就要懒到底——鼠标自动点击(含时间判断)
Feb 20 Javascript
js通过地址栏给action传值(中文乱码全是问号)
May 02 Javascript
jquery ajaxSubmit 异步提交的简单实现
Feb 28 Javascript
javascript教程:关于if简写语句优化的方法
May 17 Javascript
js为什么不能正确处理小数运算?
Dec 29 Javascript
深入理解javascript中的 “this”
Jan 17 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
Mar 22 Javascript
详解Vue单元测试case写法
May 24 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
Aug 07 Javascript
JavaScript修改注册表实例代码
Jan 05 Javascript
javascript自定义加载loading效果
Sep 15 Javascript
解决vue自定义组件@click点击失效问题
Apr 30 Vue.js
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代码
2013/03/24 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
python数据结构之二叉树的建立实例
2014/04/29 Python
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
介绍Python中的一些高级编程技巧
2015/04/02 Python
Django web框架使用url path name详解
2019/04/29 Python
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
医学专业毕业生推荐信
2013/11/14 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
辅导员评语
2014/05/04 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
Pygame Draw绘图函数的具体使用
2021/11/17 Python