当前位置:   article > 正文

(前端模拟)字母加数字四位不重复验证码的实现_后端验证返回四个数字 前端验证码怎么展示

后端验证返回四个数字 前端验证码怎么展示

验证码的实现,通常是由后端操作。今天带来一个前端模拟验证码的js代码,要求是点击刷新,得到四位字母加数字且不重复的验证码。代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style>
  7. div {
  8. width: 160px;
  9. height: 36px;
  10. background-color: #f40;
  11. line-height: 36px;
  12. text-align: center;
  13. color: #fff;
  14. font-size: 16px;
  15. margin: 30px auto;
  16. cursor: pointer;
  17. -webkit-user-select: none; /*禁止用户选中文字*/
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <div id="code_box">
  23. Af3D
  24. </div>
  25. <script>
  26. var code_box = document.getElementById("code_box");
  27. function refreshCode() {
  28. var code = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM',//62个字符 随机选择4位
  29. char = '',
  30. result = '';
  31. for (var i = 0; i < 4; i++) {
  32. //随机选择一位 (0,61) 写出0到61的随机的索引数字
  33. var code_index = Math.round(Math.random()*61);
  34. //得到随机的索引 取出随机地字符
  35. var char = code[code_index];
  36. //随机取出的字符 存在几个相同重复的问题 ,而且对于字母,不能区分大小写。
  37. // 避免重复的思路是:取出字符之后,和最后的result对比一下,看看里边是不是已经存在了,如果存在本次循环就终止,进行下一次
  38. if (result.toUpperCase().indexOf(char.toUpperCase()) > -1)
  39. //indexOf() == -1 说明结果里边没有要找的字符 那么 > -1 就是 里边有重复的字符
  40. {
  41. i --;
  42. //为什么会 --? 因为如果条件成立,那么本轮循环就结束进行下一轮循环(自然i就加1了),那么本轮本应该取出的字符就没有了
  43. //到最后会少一个字符 缺席
  44. continue;//终止本轮循环 进行下一轮
  45. }
  46. result += char;
  47. }
  48. code_box.innerHTML = result;
  49. }
  50. //点击事件
  51. code_box.onclick = refreshCode;
  52. </script>
  53. </body>
  54. </html>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/54504
推荐阅读
相关标签
  

闽ICP备14008679号