Rumah >hujung hadapan web >tutorial js >Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan?

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan?

PHPz
PHPzasal
2023-10-19 10:46:061082semak imbas

如何使用 JavaScript 实现验证码功能?

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan?

Dengan perkembangan Internet, kod pengesahan telah menjadi salah satu mekanisme keselamatan yang sangat diperlukan dalam laman web dan aplikasi. Kod Pengesahan ialah teknologi yang digunakan untuk menentukan sama ada pengguna adalah manusia dan bukan mesin. Dengan CAPTCHA, tapak web dan aplikasi boleh menghalang penyerahan spam, serangan berniat jahat, perangkak bot dan banyak lagi. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan dan memberikan contoh kod khusus.

1. Hasilkan kod pengesahan

Pertama, kita perlu menjana kod pengesahan. Jenis kod pengesahan biasa termasuk: kod pengesahan berangka, kod pengesahan surat, kod pengesahan jenis campuran, dsb. Berikut ialah contoh kod untuk menjana kod pengesahan digital:

function generateCode(length) {
  var code = "";
  var characters = "0123456789";
  for (var i = 0; i < length; i++) {
    code += characters.charAt(Math.floor(Math.random() * characters.length));
  }
  return code;
}

var code = generateCode(4);
console.log(code);

Dalam kod di atas, fungsi generateCode menerima parameter length, yang mewakili panjang pengesahan kod. Di dalam fungsi, gunakan gelung untuk menjana nombor rawak dengan panjang yang ditentukan dan menggabungkannya ke dalam pembolehubah code. Akhirnya, kod pengesahan yang dijana dikembalikan. generateCode 函数接受一个参数 length,代表验证码的长度。在函数内部,使用一个循环来生成指定长度的随机数字,并将其拼接到 code 变量中。最后,返回生成的验证码。

二、显示验证码

生成验证码后,我们需要将其显示给用户。这可以通过在页面上插入一个 a1f02c36ba31691bcfe87b2722de723b 标签或者一个 5ba626b379994d53f7acf72a64f9b697 元素来实现。以下是一个将验证码显示在图片上的示例代码:

<!DOCTYPE html>
<html>
  <head>
    <title>验证码示例</title>
    <style>
      .captcha-image {
        border: 1px solid #ccc;
        padding: 5px;
      }
    </style>
  </head>
  <body>
    <div id="captchaContainer">
      <img id="captchaImage" class="captcha-image" src="">
    </div>
    <button id="refreshButton">刷新验证码</button>
    <script>
      var code = generateCode(4);
      var image = document.getElementById("captchaImage");
      var refreshButton = document.getElementById("refreshButton");

      function refreshCaptcha() {
        code = generateCode(4);
        image.src = "captcha.php?code=" + code;
      }

      refreshButton.addEventListener("click", refreshCaptcha);
      refreshCaptcha();
    </script>
  </body>
</html>

在上述代码中,我们首先获取了 a1f02c36ba31691bcfe87b2722de723b 标签和刷新按钮的引用。然后,定义了一个 refreshCaptcha 函数用于刷新验证码。在函数内部,重新生成验证码,并将其设置为图片的 src

2. Paparkan kod pengesahan

Selepas menjana kod pengesahan, kami perlu memaparkannya kepada pengguna. Ini boleh dicapai dengan memasukkan teg a1f02c36ba31691bcfe87b2722de723b atau elemen 5ba626b379994d53f7acf72a64f9b697 pada halaman. Berikut ialah contoh kod yang memaparkan kod pengesahan pada imej:

var input = document.getElementById("captchaInput");
var submitButton = document.getElementById("submitButton");

submitButton.addEventListener("click", function() {
  var userInput = input.value;
  if (userInput === code) {
    alert("验证码输入正确!");
  } else {
    alert("验证码输入错误!");
  }
});

Dalam kod di atas, kami mula-mula mendapat rujukan kepada teg a1f02c36ba31691bcfe87b2722de723b dan butang muat semula. Kemudian, fungsi refreshCaptcha ditakrifkan untuk memuat semula kod pengesahan. Di dalam fungsi, jana semula kod pengesahan dan tetapkannya sebagai atribut src imej.

3. Sahkan input pengguna

Selepas kod pengesahan dijana dan dipaparkan, kami perlu mengesahkan sama ada input pengguna adalah betul. Ini boleh dicapai dengan membandingkan kod pengesahan yang dimasukkan oleh pengguna dengan kod pengesahan yang dihasilkan. Berikut ialah contoh kod untuk mengesahkan input pengguna:

rrreee

Dalam kod di atas, kami memperoleh rujukan kotak input dan butang hantar, dan menambah fungsi pengendali acara klik untuk butang hantar. Di dalam fungsi pengendali, dapatkan kod pengesahan yang dimasukkan oleh pengguna dan bandingkan dengan kod pengesahan yang dijana. Jika ia sama, kotak gesaan akan muncul untuk menunjukkan bahawa kod pengesahan dimasukkan dengan betul, jika tidak, ia akan menggesa bahawa kod pengesahan dimasukkan dengan salah. 🎜🎜Ringkasan: 🎜🎜Artikel ini melaksanakan fungsi penjanaan, paparan dan pengesahan kod pengesahan melalui JavaScript dan menyediakan contoh kod terperinci. Dengan menggunakan CAPTCHA, kami boleh meningkatkan keselamatan tapak web dan aplikasi kami serta menghalang penyerahan spam dan serangan berniat jahat. Saya harap pembaca dapat memahami dan menguasai aplikasi kod pengesahan melalui artikel ini. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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