随机验证码的主旨是在某一个范围内进行随机输出,在限定条件为0-9,a-z,A-Z的前提下,利用数组将这些数据都进行归纳,然后利用Math.random();返回一个新的数组,当点击button的时候,输出打乱后的数组的前4位就可以。

1、建立空的数组

2、利用循环将阿拉伯数字0-9,导入数组

3、利用ASCII码中英文字母的顺序循环将字母导入数组

4、打乱数组

5、当点击的时候导出打乱后的数组的前4位并用""进行字符串的拼接即可

(由于是点击触发,所以每次打乱之后的数组的顺序都不一样,只需要顺位输出4位即可)

代码如下:

function rand() {
var a = [];
for (i = 0; i <= 9; i++) {
a.push(i);
}
for (q = 65; q < 91; q++) {
a.push(String.fromCharCode(q));
}
for (v = 97; v < 123; v++) {
a.push(String.fromCharCode(v));
}
var newA = a.sort(function () {
return 0.5 - Math.random();
});
text.innerText = ("" + newA[0] + newA[1] + newA[2] + newA[3]);
return newA;
}
btn.onclick = function () {
rand();
}

转载于:https://www.cnblogs.com/asablog/p/10659553.html

关于随机验证码的一些小见解。相关推荐

  1. php验证码zhuc_微信小程序实例:实现随机验证码(附代码)

    本篇文章给大家带来的内容是关于微信小程序实例:实现随机验证码(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 小程序上经常会有一些注册 申请页面需要用到随机验证码.具体实现 ...

  2. 微信小程序实现点击生成随机验证码功能

    效果图 wxml <view bindtap="getCode">{{ code }}</view> js Page({data: {code: '' }, ...

  3. canvas制作随机验证码

    看到人家彩色背景的验证码想测试一下: 创建html代码: <canvas id="myCanvas" width="200" height="1 ...

  4. python-Day5-深入正则表达式--冒泡排序-时间复杂度 --常用模块学习:自定义模块--random模块:随机验证码--time datetime模块...

    正则表达式 语法: mport re #导入模块名 p= re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0-9]代表匹配0至9的任意一个 ...

  5. 【低代码】iVX编辑介绍及随机验证码demo

    目录 1. ivx界面介绍 1.1 舞台 1.2 组件工具栏 1.3 对象树/素材面板 1.4 属性面板 1.5 菜单栏 2.随机验证码 2.1 思路 2.2 小模块创建 2.3 按钮及文本框 2.4 ...

  6. 【Python发送短信验证码并与小程序对接】

    Python发送手机验证码流程 1.小程序端校验手机号格式 使用正则校验: 下面代码实现的是校验的是手机号必须是1开头的,然后第二位必须是3~9中间的某一个,然后剩下的九位必须是数字 这样其实就基本排 ...

  7. Java代码生成随机验证码、验证数

    /*** 业务编码生成规则*/ public class CodeGeneratorUtil {static final IdGen IDG = IdGen.get();/*** 生成业务编码* @p ...

  8. Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降

    Lesson 4.3 梯度下降(Gradient Descent)基本原理与手动实现 在上一小节中,我们已经成功的构建了逻辑回归的损失函数,但由于逻辑回归模型本身的特殊性,我们在构造损失函数时无法采用 ...

  9. python编程实战(二):一文教你生成随机验证码!大小写字母与数字组合,位数可以控制

    随机验证码的生成 前言 正文 实现 代码 效果 前言 验证码验证,是常见的安全验证的一种方式,可以用来杜绝脚本和机器人操作等等: 除了本文介绍的简单的验证码之外,还有拼图验证.文字顺序验证等常见的验证 ...

最新文章

  1. 初创公司为什么要我_在一家大型初创公司担任副总裁之前,我希望知道什么
  2. 迷你DVD管理器项目
  3. Java容器源码分析-HashSet vs TreeSet vs LinkedHashSet
  4. Singing Everywhere
  5. 使用 C# 9 的records作为强类型ID - 路由和查询参数
  6. clipboard 在 vue 中的使用
  7. Skype 释出新的 Linux 客户端
  8. Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 jenkins 实践
  9. HTTP 404 - 未找到文件 怎么样解决
  10. 程序员自我修养笔记1
  11. Vue后台数据模拟以及抓取线上数据
  12. vs2010安装番茄插件
  13. 转载:Gabor 特征总结
  14. 微信程序开发之小程序入门
  15. Linux下用rm删除的文件的恢复方法
  16. Android 接入穿山甲广告
  17. WIN10外接显示器有妙招
  18. 【计算机网络】网络安全 : 数字签名 ( 数字签名简介 | 数字签名实现 | 数字签名功能 | 保密数字签名 )
  19. 上帝为什么不直接把魔鬼撒但这等邪…
  20. 编写自己的Photon游戏服务器(Yanlz+Unity+Photon+Server+UNet+KBEngine+Socket+纤程+UDP+立钻哥哥+==)

热门文章

  1. 一个简单的freemark输入输出的案例(一)
  2. 存储器芯片国产化布局加速 数千亿投资欲打破进口依赖
  3. 5G是卡位未来的重要基础设施 物联网已成为新的攻击入口
  4. Linux 内核存缺陷:66% 安卓设备面临受攻击风险
  5. Oracle 双机热备 镜像 纯软 实战 配置教程 配置手册
  6. 剑指Offer:包含main函数的栈(借助辅助栈)
  7. 视图——概述 || 创建或者修改视图 || 查看视图 || 删除视图
  8. vue-router命名路由
  9. Security+jwt+验证码实现验证和授权
  10. JS类的封装及实现代码