Rumah  >  Artikel  >  hujung hadapan web  >  JavaScript melarang input

JavaScript melarang input

王林
王林asal
2023-05-12 10:16:061002semak imbas

Input JavaScript adalah dilarang

Dengan pembangunan Internet yang berterusan, JavaScript telah menjadi bahagian yang amat diperlukan dalam reka bentuk web moden. JavaScript boleh meningkatkan interaktiviti halaman web dan memudahkan pengguna memasukkan dan mengendalikan data. Walau bagaimanapun, dalam beberapa kes, kami perlu melaksanakan beberapa fungsi yang menyekat input pengguna melalui JavaScript. Contohnya, melarang pengguna daripada memasukkan aksara tertentu atau mengehadkan bilangan aksara yang boleh dimasukkan oleh pengguna, dsb. Artikel ini akan membantu anda melaksanakan fungsi ini dengan menerangkan beberapa teknik JavaScript.

Larang input aksara tertentu

Jika anda ingin melarang input aksara tertentu dalam kotak input pengguna, anda boleh menggunakan ungkapan biasa JavaScript untuk mencapai ini. Sebagai contoh, jika anda mahu pengguna memasukkan nombor sahaja, anda boleh menggunakan kod berikut dalam acara onkeypress kotak input pengguna:

function checkNumber(event) {
  var charCode = event.keyCode;
  if (charCode < 48 || charCode > 57) {
    event.preventDefault();
  }
}

Dalam kod ini, kami mula-mula mendapatkan kod ASCII bagi aksara yang dimasukkan oleh pengguna, Kemudian tentukan sama ada aksara itu adalah nombor. Jika bukan nombor, kaedah event.preventDefault() dipanggil untuk menghalang peristiwa input aksara lalai.

Begitu juga, jika anda ingin menghalang pengguna daripada memasukkan aksara khusus lain, ubah suai syarat penghakiman. Contohnya, jika anda ingin menghalang pengguna daripada memasukkan huruf dan tanda baca, anda boleh menggunakan kod berikut:

function checkCharacter(event) {
  var charCode = event.keyCode;
  if ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122) || (charCode >= 33 && charCode <= 47) || (charCode >= 58 && charCode <= 64) || (charCode >= 91 && charCode <= 96) || (charCode >= 123 && charCode <= 126)) {
    event.preventDefault();
  }
}

Dalam kod ini, kami mengubah suai syarat penghakiman untuk menilai sama ada aksara itu adalah huruf atau tanda baca.

Tiada ruang dibenarkan

Kadangkala, kami mahu pengguna tidak dapat memasukkan ruang semasa memasukkan data. Ini boleh dicapai dengan mengesan sama ada aksara yang dimasukkan oleh pengguna adalah ruang. Contohnya, anda boleh menggunakan kod berikut dalam acara onkeypress kotak input pengguna:

function checkWhiteSpace(event) {
  var charCode = event.keyCode;
  if (charCode === 32) {
    event.preventDefault();
  }
}

Dalam kod ini, kami menentukan sama ada aksara yang dimasukkan oleh pengguna ialah ruang dan jika ya, panggil acara tersebut. kaedah preventDefault() Menghalang peristiwa input aksara lalai.

Larang input melebihi bilangan aksara yang ditentukan

Jika anda ingin mengehadkan bilangan aksara yang dimasukkan pengguna dalam kotak input, anda boleh melakukannya dengan mengesan bilangan aksara dalam pengguna kotak input. Sebagai contoh, anda boleh menggunakan kod berikut dalam acara oninput kotak input pengguna:

function limitInput(event, maxLength) {
  var input = event.target.value;
  if (input.length > maxLength) {
    event.target.value = input.slice(0, maxLength);
  }
}

Dalam kod ini, kami mula-mula mendapat nilai dalam kotak input pengguna dan menentukan sama ada bilangan aksara melebihi yang ditentukan maksimum Bilangan aksara (maxLength). Jika melebihi, aksara maxLength pertama dipintas dan ditulis kembali ke kotak input.

Contoh Lengkap

Berikut ialah contoh lengkap yang menunjukkan cara menggunakan JavaScript untuk melaksanakan fungsi seperti melarang input aksara tertentu, melarang kemasukan ruang dan melarang kemasukan lebih daripada bilangan aksara yang ditentukan:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>JavaScript 禁止输入</title>
</head>
<body>
  <form>
    <label>只能输入数字:</label>
    <input type="text" onkeypress="checkNumber(event)">
    <br><br>
    <label>不能输入空格:</label>
    <input type="text" onkeypress="checkWhiteSpace(event)">
    <br><br>
    <label>最多只能输入 5 个字符:</label>
    <input type="text" oninput="limitInput(event, 5)">
  </form>

  <script>
    function checkNumber(event) {
      var charCode = event.keyCode;
      if (charCode < 48 || charCode > 57) {
        event.preventDefault();
      }
    }

    function checkWhiteSpace(event) {
      var charCode = event.keyCode;
      if (charCode === 32) {
        event.preventDefault();
      }
    }

    function limitInput(event, maxLength) {
      var input = event.target.value;
      if (input.length > maxLength) {
        event.target.value = input.slice(0, maxLength);
      }
    }
  </script>
</body>
</html>

Dalam contoh ini, kami mencipta borang dengan tiga kotak input untuk menunjukkan fungsi melarang kemasukan nombor, melarang kemasukan ruang dan melarang kemasukan lebih daripada bilangan aksara yang ditentukan. Setiap kotak input terikat pada pengendali acara JavaScript yang sepadan.

Kesimpulan

Dengan menggunakan JavaScript, kami boleh melaksanakan pelbagai fungsi dengan mudah yang mengehadkan input pengguna. Ini bukan sahaja meningkatkan keselamatan dan kualiti data tapak web, tetapi juga memberikan pengguna pengalaman interaktif yang lebih baik. Kami berharap artikel ini membantu anda menggunakan JavaScript dengan lebih baik untuk melaksanakan reka bentuk web anda.

Atas ialah kandungan terperinci JavaScript melarang input. 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