Guest User

Untitled

a guest
Mar 21st, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="utf-8">
  6. <title>随机密码生成器</title>
  7. <meta name="viewport" content="width=device-width">
  8. </head>
  9.  
  10. <body>
  11. <h1>随机密码生成器</h1>
  12. <p>随机生成的密码必须包含以下种类字符:</p>
  13. <p>
  14. <input type="checkbox" id="0" checked>
  15. <label for="0">小写字母</label>
  16. <input type="checkbox" id="1" checked>
  17. <label for="1">大写字母</label>
  18. <input type="checkbox" id="2" checked>
  19. <label for="2">数字</label>
  20. <input type="checkbox" id="3" checked>
  21. <label for="3">特殊字符</label>
  22. </p>
  23. <p>
  24. 密码长度:
  25. <input id="length" type="number" value="8">
  26. </p>
  27. <p>
  28. <button id="gen">生成</button>
  29. </p>
  30. <p>
  31. <input id="pwd" type="text" value="">
  32. </p>
  33. <p>源代码可以右键查看,我不会保存你的密码,放心使用</p>
  34. <script>
  35. var lowerCase = 'abcdefghijklmnopqrstuvwxyz';
  36. var upperCase = lowerCase.toUpperCase();
  37. var number = '1234567890';
  38. var sign = '!@#$%^&*()-_';
  39. var source = [lowerCase.split(''), upperCase.split(''), number.split(''), sign.split('')];
  40. var random = function (length) {
  41. return Math.floor(Math.random() * length);
  42. };
  43.  
  44. document.getElementById('gen').addEventListener('click', function () {
  45. var pwd = '';
  46. var pwdLength = 8;
  47. var length = +document.getElementById('length').value;
  48. if (length > 0) {
  49. pwdLength = length;
  50. }
  51.  
  52. var checkboxs = document.querySelectorAll('[type=checkbox]');
  53. for (var i = 0; i < checkboxs.length; i++) {
  54. if (checkboxs[i].checked) {
  55. pwd += source[i][random(source[i].length)];
  56. }
  57. }
  58.  
  59. if (pwd.length === 0) {
  60. alert('请至少选择一种字符类型');
  61. return;
  62. }
  63. for (; pwd.length < pwdLength;) {
  64. var s = random(source.length);
  65. if (checkboxs[s].checked) {
  66. var choose = source[s][random(source[s].length)];
  67. if (pwdLength > 40 || pwd.indexOf(choose) === -1) {
  68. pwd += choose;
  69. }
  70. }
  71. }
  72.  
  73. var chars = pwd.split('');
  74. chars.sort(function () {
  75. return Math.random() - 0.5;
  76. }).sort(function () {
  77. return Math.random() - 0.5;
  78. });
  79. document.getElementById('pwd').value = chars.join('');
  80. document.getElementById('pwd').select();
  81.  
  82. try {
  83. var successful = document.execCommand('copy');
  84. var msg = successful ? 'successful' : 'unsuccessful';
  85. console.log('Copying text command was ' + msg);
  86. } catch (err) {
  87. console.log('Oops, unable to copy');
  88. }
  89. });
  90. </script>
  91. </body>
  92.  
  93. </html>
Add Comment
Please, Sign In to add comment