Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Cara Membatasi Jumlah Karakter pada Input HTML

 

Saat membuat formulir di website, terkadang kita perlu membatasi jumlah karakter yang bisa dimasukkan oleh pengguna pada suatu kolom input. Ini berguna untuk menjaga konsistensi data, menghemat ruang database, atau memastikan format yang tepat.

Ada dua cara utama untuk melakukan ini, yaitu menggunakan atribut HTML dan menggunakan JavaScript. Masing-masing memiliki kelebihan dan kekurangan, jadi penting untuk memahami keduanya.

 

1. Membatasi Karakter dengan Atribut maxlength (Cara Paling Sederhana)

 

Cara paling mudah dan direkomendasikan untuk membatasi jumlah karakter pada input teks adalah dengan menggunakan atribut maxlength di dalam elemen <input>. Atribut ini adalah bagian dari HTML5, yang berarti didukung oleh semua browser modern.

Contoh Kode HTML:

HTML

<label for="username">Username (maksimal 10 karakter):</label><br>
<input type="text" id="username" name="username" maxlength="10">

Bagaimana cara kerjanya? Saat pengguna mengetik di kolom input, browser secara otomatis akan mencegah mereka mengetik karakter ke-11 dan seterusnya. Atribut ini sangat efektif karena bekerja langsung di sisi browser (client-side) tanpa memerlukan kode JavaScript tambahan.

Kelebihan:

  • Sangat mudah digunakan. Cukup tambahkan satu atribut.
  • Tidak memerlukan JavaScript. Bekerja secara otomatis.
  • Ramah pengguna. Pengguna langsung tahu batasnya karena browser tidak akan menerima karakter lebih.

Kekurangan:

  • Hanya berfungsi pada input teks (type="text", type="password", type="email", dll.) dan textarea.
  • Tidak berfungsi untuk input dengan type="number".

 

2. Membatasi Karakter dengan JavaScript (Untuk Kontrol Lebih Lanjut)

 

Meskipun maxlength sangat praktis, ada situasi di mana kamu mungkin butuh kontrol lebih. Misalnya, jika kamu ingin menampilkan hitungan mundur karakter, atau jika kamu bekerja dengan input type="number" yang tidak mendukung maxlength.

Contoh Kode HTML:

HTML

<label for="pesan">Pesan (maksimal 140 karakter):</label><br>
<textarea id="pesan" name="pesan" rows="4" cols="50"></textarea>
<p>Karakter tersisa: <span id="sisa-karakter">140</span></p>

Contoh Kode JavaScript:

JavaScript

const textarea = document.getElementById('pesan');
const sisaKarakterSpan = document.getElementById('sisa-karakter');
const maxLength = 140;

textarea.addEventListener('input', () => {
  const jumlahKarakter = textarea.value.length;
  const sisa = maxLength - jumlahKarakter;
  sisaKarakterSpan.textContent = sisa;

  if (sisa < 0) {
    sisaKarakterSpan.style.color = 'red';
  } else {
    sisaKarakterSpan.style.color = 'black';
  }
});

Bagaimana cara kerjanya? Kode JavaScript di atas mendengarkan setiap ketikan pengguna ('input'). Setiap kali ada perubahan, ia menghitung panjang karakter, menghitung sisanya, dan memperbarui teks di <span> yang menampilkan sisa karakter. Dengan ini, kamu bisa memberikan umpan balik visual yang lebih baik kepada pengguna.

Kelebihan:

  • Sangat fleksibel. Kamu bisa menambahkan logika atau tampilan tambahan sesuai kebutuhan.
  • Bisa digunakan untuk input type="number" (walaupun maxlength untuk number juga bisa diatasi dengan atribut max).
  • Memberikan pengalaman pengguna yang lebih baik dengan hitungan karakter secara real-time.

Kekurangan:

  • Membutuhkan lebih banyak kode.
  • Jika pengguna menonaktifkan JavaScript, fitur ini tidak akan berfungsi.

 

Kesimpulan dan Saran

 

  • Untuk kebutuhan sederhana, selalu gunakan maxlength. Atribut ini adalah cara tercepat dan paling efisien.
  • Gunakan JavaScript ketika kamu perlu menambahkan fitur interaktif lainnya, seperti menghitung sisa karakter atau memberikan feedback visual yang lebih kompleks kepada pengguna.

Penting untuk diingat bahwa baik maxlength maupun JavaScript hanya berfungsi di sisi client-side. Ini berarti pengguna yang jahil bisa saja memanipulasi kode di browser mereka. Oleh karena itu, kamu harus selalu melakukan validasi ulang di sisi server (misalnya, dengan PHP, Node.js, atau bahasa backend lainnya) untuk memastikan data yang masuk ke database kamu tetap valid dan sesuai dengan batasan yang kamu inginkan.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_e013qke013qke013
Gemini_Generated_Image_vm3j5ivm3j5ivm3j
Gemini_Generated_Image_fl8tp6fl8tp6fl8t
Gemini_Generated_Image_levfk7levfk7levf

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek