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

随机验证码的主旨是在某一个范围内进行随机输出,在限定条件为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();
}
posted @ 2019-04-05 19:23  Asaru  阅读(230)  评论(0编辑  收藏  举报