博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 模拟验证码功能
阅读量:2145 次
发布时间:2019-04-30

本文共 1018 字,大约阅读时间需要 3 分钟。

模拟验证码的实现

  • 实现思想

  1. 定义一个由数字和字母大小写组成的字符串
  2. 使用charAt()方法和随机数——随机获取字符串的元素 使其拼接成一个四位元素的验证码
  • Js实现代码

// 声明一个由数字和字母大小写组成的字符串  var str = '0123456789qwertyuiopASDFGHJKL';  // 空字符串后边拼接使用  var newStr = '';  console.log(str.length);  //生成四位数的验证码  for(var i = 1; i < 5; i++){
//每循环一次 获取一个随机数下标 下标的取值范围是 0 - 字符串长度之间 var sjIndex = parseInt(Math.random()*str.length); //通过charAt()方法和每一次循环得到的下标获取到字符串(str)对应下标的元素进行字符串拼接 newStr += str.charAt(sjIndex); } //拼接后的字符串newStr 就是要得到的四位元素验证码 console.log(newStr)

注意:

随机数获取范围的公式是: Math.random() * (最大值 - 最小值 + 1) + 最小值
随机数可以是小数,我们这里不需要小数 所以要用parseInt()方法进行取整

  • 进行封装

  • 封装成任意字符串长度 任意验证码长度
    将以上代码放入到一个函数中 只需要改一下你需要的验证码的长度和字符串就ok!!!传参的参数 字符串和验证码长度。
function getMa(str,len){
var newStr = ''; for(var i = 1; i <= len; i++){
var sjIndex = parseInt(Math.random()*str.length); newStr += str.charAt(sjIndex); } return newStr; } var str = '123456789asdfghjkldfgSDFGHJKLCVBN'; // 生成 6 位数的验证码 console.log(getMa(str,6))

注意:

str.length ---> 获取字符串长度

转载地址:http://wiegf.baihongyu.com/

你可能感兴趣的文章
div标签布局的使用
查看>>
HTML中表格的使用
查看>>
(模板 重要)Tarjan算法解决LCA问题(PAT 1151 LCA in a Binary Tree)
查看>>
(PAT 1154) Vertex Coloring (图的广度优先遍历)
查看>>
(PAT 1115) Counting Nodes in a BST (二叉查找树-统计指定层元素个数)
查看>>
(PAT 1143) Lowest Common Ancestor (二叉查找树的LCA)
查看>>
(PAT 1061) Dating (字符串处理)
查看>>
(PAT 1118) Birds in Forest (并查集)
查看>>
数据结构 拓扑排序
查看>>
(PAT 1040) Longest Symmetric String (DP-最长回文子串)
查看>>
(PAT 1145) Hashing - Average Search Time (哈希表冲突处理)
查看>>
(1129) Recommendation System 排序
查看>>
PAT1090 Highest Price in Supply Chain 树DFS
查看>>
(PAT 1096) Consecutive Factors (质因子分解)
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>
(PAT 1080) Graduate Admission (排序)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【linux】nohup和&的作用
查看>>