• 售前

  • 售后

热门帖子
入门百科

JavaScript实现4位随机验证码的生成

[复制链接]
晴空万里659 显示全部楼层 发表于 2021-10-25 20:16:34 |阅读模式 打印 上一主题 下一主题
本文实例为各人分享了JavaScript天生4位随机验证码的具体代码,供各人参考,具体内容如下
代码:
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>4位随机验证码的生成</title>
  6. <style>
  7. label{
  8. color:aqua;
  9. float:left;
  10. font-size: 20px;
  11. line-height:2em;
  12. }
  13. #tex{
  14. display:inline-block;
  15. width:50px;
  16. height: 25px;
  17. float:left;
  18. text-align: center;
  19. font-size:15px;
  20. margin-top:10px;
  21. }
  22. #showyz{
  23. border:3px solid green;
  24. color:blue;
  25. width:90px;
  26. height:40px;
  27. text-align:center;
  28. float:left;
  29. margin-left:15px;
  30. line-height: 2.5em;
  31. }
  32. #hyz{
  33. background-color:burlywood;
  34. border:1px solid burlywood;
  35. width:50px;
  36. height:20px;
  37. float: left;
  38. margin-left:20px;
  39. margin-top: 10px;
  40. margin-right:15px;
  41. }
  42. #btn{
  43. }
  44. </style>
  45. </head>
  46. <body>
  47. <label for="tex">请输入验证码:</label><input type="text" id="tex" maxlength="4" autofocus>
  48. <div id="showyz"></div>
  49. <div id="hyz">换一张</div><br>
  50. <input type="button" id="btn" value="确认">
  51. </body>
  52. <script>
  53. //定义个空数组保存62个编码
  54. var codes=[];
  55. //将数字对应的编码保存到codes数组中,数字编码范围【48-57】
  56. for(var i=48;i<=57;i++){
  57. codes.push(i);
  58. }
  59. //将大写字母对应的编码保存到codes数组中,对应编码范围【65-90】
  60. for(var i=65;i<=90;i++){
  61. codes.push(i);
  62. }
  63. //将小写字母对应的编码保存到codes数组中,对应编码范围【97-122】
  64. for(var i=97;i<=122;i++){
  65. codes.push(i);
  66. }
  67. //定义个方法生成62位随机数作为数组角标返回随机的编码,再将其编码转化为对应数字或者字母
  68. function suiji(){
  69. var arr=[];//定义个数组保存4位随机数
  70. for(var i=0;i<4;i++){
  71. var index=Math.floor(Math.random()*(61-0+1)+0);//生成个随机数
  72. var char=String.fromCharCode(codes[index]);//解码
  73. arr.push(char); //存入到数组arr中
  74. }
  75. return arr.join("");//将数组转为字符串,以空格分隔,并返回
  76. }
  77. var yzm=suiji();//调用方法,将放回的验证码返回到yzm中
  78. //获取上述元素
  79. var tex=document.getElementById("tex");
  80. var showyz=document.getElementById("showyz");
  81. var hyz=document.getElementById("hyz");
  82. var btn=document.getElementById("btn");
  83. //将验证码写入到id为showyz的div中
  84. showyz.innerHTML=yzm;
  85. //实现换一张验证码功能
  86. hyz.οnclick=function(){
  87. yzm=suiji();
  88. showyz.innerHTML=yzm;
  89. }
  90. //将自己输入的验证码与获取的随机验证码验证
  91. btn.οnclick=function(){
  92. var textvalue=tex.value;//获取输入的值
  93. if(textvalue.toLowerCase()==yzm.toLowerCase()){//将值都转为小写比较
  94. alert("验证码输入正确!");
  95. yzm=suiji();
  96.   showyz.innerHTML=yzm;
  97. tex.value="";
  98. }
  99. else{
  100. alert("验证码输入错误,请重新输入!");
  101. yzm=suiji();
  102.   showyz.innerHTML=yzm;
  103. tex.value="";
  104. }
  105. }
  106. </script>
  107. </html>
复制代码

以上就是本文的全部内容,盼望对各人的学习有所资助,也盼望各人多多支持草根技术分享。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作