使用JavaScript随机生成数字混合字母的验证码
2019-08-22 08:37
225 查看
原文链接:http://www.cnblogs.com/funseey/p/11392278.html
<script> // 封装一个随机生成数字的函数 function random(a, b) { var n = Math.round(Math.random() * (a - b) + b); return n; } //=====================================有漏洞版============================================= function getCode(){ //定义一个字符串把所有可能都装进去,全部字母以及数字 var codeStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; //声明一个空的字符串,用作装随机生成的四个数。 var str = ""; //写一个循环用来重复随机生成几个数,以及将东西一个一个放进上面声明的空字符串内 for (var i = 0; i < 4; i++) { var m = random(0,61); str += codeStr.charAt(m); } // 在外面调用函数时,一定要在函数内写返回值 return str; } //调用函数 console.log(getCode()); //====================================更为严谨版============================================== //运行一下上面的代码我们会发现,字母出现的几率远远大过数字出现的几率。这是因为codeStr里面的字母有52个, // 数字却只有10个,而这样并不能算是真正的随机。故我补充了下面的代码。 //思路:做一个随机生成数的库strData,循环四次,每次都会产生大写字母、小写字母、数字 各三个,也就是说strData // 里面放了12个数。再在strData库中随机(这样的随机才是真正的随机,每种可能的几率都是相同的)抽取四个数, // 放在新声明的str里,并且输出 //封装一个随机生成数的库 function randomStr(){ var strData = ""; //如果觉得12个数太少也可以多放点,将i<4修改即可 for(var i=0;i<4;i++){ var num = random(0,9); //数字 var upper = String.fromCharCode(random(65,90)); //大写字母 var lower = String.fromCharCode(random(97,122)); //小写字母 strData = strData+num+upper+lower; //将所有结果放进strData中 } var str = ""; for (var i = 0; i < 4; i++) { str += strData[random(0,strData.length-1)]; //在strData里面随机抽取四个数 } return str; } console.log(randomStr()) </script>
转载于:https://www.cnblogs.com/funseey/p/11392278.html
相关文章推荐
- 使用java Random动态传递位数 生成指定位数的随机字符串-数字字母混合
- 使用 Python 生成类数字字母混合验证码图片
- 字母加数字随机验证码的生成
- 随机生成字母数字验证码,可定义验证码的长度
- 怎样生成带有随机杂点的ASP数字以及字母验证码
- Java随机生成六位字符的验证码,包括数字,大小写字母
- asp.net生成字母和数字混合图形验证码
- java/jsp 生成随机字符串(生成一个32位字节的字母和数字大小写混合的随机字符串!)
- Java 随机生成验证码,支持大小写字母、数字;随机字体
- java随机生成数字字母验证码
- Java 随机生成六位数验证码过程(含大小写字母及数字)
- Java生成随机验证码(数字+大小写字母)
- PHP-随机验证码-字母和数字的组合-使用循环-随机数。
- C# 生成验证码取随机数字加字母(改进版)
- 怎么随机生成字母数字验证码并可定义验证码的长度
- php生成随机数据(数字、大小写字母混合)
- php生成随机字符串 指定长度 可以固定数字 字母 混合
- ava验证码中的数字、字母、汉字如何随机生成
- 如何生成汉字验证码或字母数字混合验证码
- php生成随机字符串可指定纯数字、纯字母或者混合的