Bina Laman Web Penjana Kata Laluan

王林
Lepaskan: 2024-08-25 20:30:33
asal
971 orang telah melayarinya

Build a Password Generator Website

pengenalan

Helo, pembangun! Saya teruja untuk membentangkan projek terbaharu saya: Penjana Kata Laluan. Alat ini direka untuk membantu anda membuat kata laluan selamat dan rawak dengan mudah. Sama ada anda memerlukan kata laluan yang kukuh untuk akaun dalam talian anda atau ingin mempraktikkan kemahiran JavaScript anda, Penjana Kata Laluan ini merupakan tambahan yang bagus kepada kit alat anda.

Gambaran Keseluruhan Projek

Penjana Kata Laluan ialah aplikasi berasaskan web yang membolehkan pengguna menjana kata laluan dengan pelbagai konfigurasi. Anda boleh menyesuaikan panjang kata laluan dan memasukkan atau mengecualikan jenis aksara tertentu seperti huruf kecil, huruf besar, nombor dan simbol. Projek ini mempamerkan cara membina penjana kata laluan dinamik menggunakan JavaScript, ditambah dengan antara muka yang bersih dan mesra pengguna yang dibina dengan HTML dan CSS.

Ciri-ciri

  • Panjang Kata Laluan Boleh Disesuaikan: Laraskan panjang kata laluan yang dijana menggunakan peluncur.
  • Pemilihan Jenis Aksara: Pilih jenis aksara (huruf kecil, huruf besar, nombor, simbol) untuk dimasukkan ke dalam kata laluan.
  • Jana dan Salin: Jana kata laluan rawak dan salin dengan mudah ke papan keratan anda.

Teknologi yang Digunakan

  • HTML: Menyediakan struktur dan reka letak untuk Penjana Kata Laluan.
  • CSS: Menggayakan antara muka, memastikan reka bentuk yang moden dan responsif.
  • JavaScript: Mengendalikan logik penjanaan kata laluan, termasuk interaksi pengguna dan penyalinan kata laluan.

Struktur Projek

Berikut ialah gambaran keseluruhan struktur projek:

Password-Generator/
├── index.html
├── style.css
└── script.js
Salin selepas log masuk
  • index.html: Mengandungi struktur HTML untuk Penjana Kata Laluan.
  • style.css: Termasuk gaya CSS untuk mencipta reka bentuk yang menarik dan responsif.
  • script.js: Menguruskan fungsi penjanaan kata laluan dan interaksi pengguna.

Pemasangan

Untuk memulakan projek, ikut langkah berikut:

  1. Klon repositori:

    git clone https://github.com/abhishekgurjar-in/Password-Generator.git
    
    Salin selepas log masuk
  2. Buka direktori projek:

    cd Password-Generator
    
    Salin selepas log masuk
  3. Jalankan projek:

    • Buka fail index.html dalam pelayar web untuk menggunakan Penjana Kata Laluan.

Penggunaan

  1. Buka tapak web dalam penyemak imbas web.
  2. Laraskan panjang kata laluan menggunakan peluncur.
  3. Pilih atau nyahpilih jenis aksara yang ingin anda sertakan.
  4. Jana kata laluan dengan mengklik butang "Jana Kata Laluan".
  5. Salin kata laluan ke papan keratan anda dengan mengklik ikon salin.

Penerangan Kod

HTML

Fail index.html mentakrifkan struktur Penjana Kata Laluan, termasuk medan input, kawalan dan kawasan paparan. Berikut adalah coretan:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="style.css" />
    <link
      href="https://fonts.googleapis.com/icon?family=Material+Icons"
      rel="stylesheet"
    />
    <script src="script.js" defer></script>
    <title>Password Generator</title>
  </head>
  <body>
    <div class="container">
      <h1>Password Generator</h1>

      <div class="inputBox">
        <input type="text" class="passBox" id="passBox" disabled />
        <span class="material-icons" id="copyIcon">content_copy</span>
      </div>

      <input type="range" min="1" max="30" value="8" id="inputSlider" />

      <div class="row">
        <p>Password Length</p>
        <span id="sliderValue"></span>
      </div>

      <div class="row">
        <label for="lowercase">Include Lowercase Letters (a-z)</label>
        <input type="checkbox" name="lowercase" id="lowercase" checked/>
      </div>

      <div class="row">
        <label for="uppercase">Include Uppercase Letters (A-Z)</label>
        <input type="checkbox" name="uppercase" id="uppercase" checked/>
      </div>

      <div class="row">
        <label for="numbers">Include Numbers (0-9)</label>
        <input type="checkbox" name="numbers" id="numbers" checked/>
      </div>

      <div class="row">
        <label for="symbols">Include Symbols (@-*)</label>
        <input type="checkbox" name="symbols" id="symbols" checked/>
      </div>

      <button type="button" class="genBtn" id="genBtn">
        Generate Password
      </button>
    </div>
    <div class="footer">
      <p>Made with ❤️ by Abhishek Gurjar</p>
    </div>
  </body>
</html>
Salin selepas log masuk

CSS

Fail style.css menggayakan Penjana Kata Laluan, menjadikannya menarik dan responsif secara visual. Di bawah ialah beberapa gaya utama:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: sans-serif;
}

body {
  max-width: 100vw;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  color: #fff;
  font-weight: 600;
  flex-direction: column;
}

.container {
  border: 0.5px solid #fff;
  border-radius: 10px;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  background: transparent;
  box-shadow: 8px 8px 4px #909090, 8px 8px 0px #575757;
}

.container h1 {
  font-size: 1.4rem;
  margin-block: 8px;
}

.inputBox {
  position: relative;
}

.inputBox span {
  position: absolute;
  top: 16px;
  right: 6px;
  color: #000;
  font-size: 28px;
  cursor: pointer;
  z-index: 2;
}

.passBox {
  background-color: #fff;
  border: none;
  outline: none;
  padding: 10px;
  width: 300px;
  border-radius: 4px;
  font-size: 20px;
  margin-block: 8px;
  text-overflow: ellipsis;
}

.row {
  display: flex;
  margin-block: 8px;
}

.row p, .row label {
  flex-basis: 100%;
  font-size: 18px;
}

.row input[type="checkbox"] {
  width: 20px;
  height: 20px;
}

.genBtn {
  border: none;
  outline: none;
  background-color: #2c619e;
  padding: 12px 24px;
  color: #fff;
  font-size: 18px;
  margin-block: 8px;
  font-weight: 700;
  cursor: pointer;
  border-radius: 4px;
}

.genBtn:hover {
  background-color: #0066ff;
}

.footer {
  color: white;
  margin-top: 150px;
  text-align: center;
}

.footer p {
  font-size: 16px;
  font-weight: 200;
}
Salin selepas log masuk

JavaScript

Fail script.js mengandungi logik untuk menjana kata laluan, mengurus interaksi pengguna dan menyalin kata laluan ke papan keratan. Berikut ialah coretan:

let inputSlider = document.getElementById("inputSlider");
let sliderValue = document.getElementById("sliderValue");
let passBox = document.getElementById("passBox");
let lowercase = document.getElementById("lowercase");
let uppercase = document.getElementById("uppercase");
let numbers = document.getElementById("numbers");
let symbols = document.getElementById("symbols");
let genBtn = document.getElementById("genBtn");
let copyIcon = document.getElementById("copyIcon");

// Showing input slider value 
sliderValue.textContent = inputSlider.value;
inputSlider.addEventListener("input", () => {
  sliderValue.textContent = inputSlider.value;
});

genBtn.addEventListener("click", () => {
  passBox.value = generatePassword();
});

let lowerChars = "abcdefghijklmnopqrstuvwxyz";
let upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let allNumbers = "0123456789";
let allSymbols = "~!@#$%^&*";

// Function to generate Password
function generatePassword() {
  let genPassword = "";
  let allChars = "";

  allChars += lowercase.checked ? lowerChars : "";
  allChars += uppercase.checked ? upperChars : "";
  allChars += numbers.checked ? allNumbers : "";
  allChars += symbols.checked ? allSymbols : "";

  if (allChars === "") {
    return genPassword;
  }

  let i = 1;
  while (i <= inputSlider.value) {
    genPassword += allChars.charAt(Math.floor(Math.random() * allChars.length));
    i++;
  }

  return genPassword;
}

copyIcon.addEventListener("click", () => {
  if (passBox.value !== "") {
    navigator.clipboard.writeText(passBox.value);
    copyIcon.innerText = "check";
    copyIcon.title = "Password Copied";

    setTimeout(() => {
      copyIcon.innerHTML = "content_copy";
      copy

Icon.title = "";
    }, 3000);
  }
});
Salin selepas log masuk

Demo Langsung

Anda boleh melihat demo langsung projek Penjana Kata Laluan di sini.

Kesimpulan

Mencipta Penjana Kata Laluan ialah projek yang menyeronokkan yang membolehkan saya menggunakan kemahiran pembangunan bahagian hadapan saya. Alat ini berguna untuk menjana kata laluan yang kukuh dan boleh menjadi tambahan yang bagus kepada projek pembangunan web anda. Saya harap anda mendapati ia membantu seperti saya. Selamat mengekod!

Kredit

Projek ini dibangunkan sebagai sebahagian daripada perjalanan saya untuk meningkatkan kemahiran JavaScript saya dan mencipta alatan web praktikal.

Pengarang

  • Abhishek Gurjar
    • Profil GitHub

Atas ialah kandungan terperinci Bina Laman Web Penjana Kata Laluan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!