原生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 相关文章推荐
动态改变textbox的宽高的js
Oct 26 Javascript
input+select(multiple) 实现下拉框输入值
May 21 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
Sep 28 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
Jan 12 Javascript
node.js中的fs.createWriteStream方法使用说明
Dec 17 Javascript
浅谈JSON.parse()和JSON.stringify()
Jul 14 Javascript
JS代码防止SQL注入的方法(超简单)
Apr 12 Javascript
jQuery网页定位导航特效实现方法
Dec 19 Javascript
JavaScript Base64 作为文件上传的实例代码解析
Feb 14 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
Jul 06 Javascript
JavaScript常用内置对象用法分析
Jul 09 Javascript
js实现淘宝首页的banner栏效果
Nov 26 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 基于文件头的文件类型验证类函数
2012/05/01 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Python版名片管理系统
2018/11/30 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
python对execl 处理操作代码
2020/06/22 Python
Python timeit模块原理及使用方法
2020/10/10 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
唤醒头发毛囊的秘密武器:Grow Gorgeous
2016/08/28 全球购物
Yahoo-PHP面试题3
2012/01/14 面试题
测绘工程专业个人自我评价
2013/12/01 职场文书
初中美术教学反思
2014/01/29 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
挂职自我鉴定
2014/02/26 职场文书
纪律教育月活动总结
2014/08/26 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
后备干部推荐材料
2014/12/24 职场文书
2015年征兵工作总结
2015/07/23 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python