Cara Membatasi Karakter Tertentu saat Input dengan JavaScript

www.gurudzgn.com - Hi web developer, kembali lagi bersama guru design kali ini kita akan membahas tentang bagaimana cara membatasi karakter pada saat input.

Cara Membatasi Karakter Tertentu saat Input dengan JavaScript

Cara Membatasi Karakter Tertentu saat Input dengan JavaScript

 Misal kita akan membuat sebuah projek yang memiliki form input dengan ketentuan:

  • Form hanya bisa di input dengan huruf 1 2 dan 3

Artinya form tersebut tidak bisa di input karakter lain selain 1 2 dan 3.

Untuk membuat form seperti di atas maka kita tuliskan program seperti berikut ini:

<input onkeypress="return checkInput(event,'123',this)" type="text" /> 
<script type="text/javascript">
  function checkInput(e,chars,field){
    if (chars.indexOf(e.key) != -1){
      return true;
    }else{
      return false;
    }
  }
</script>
Ket: amati kode yang saya tulis di atas, pada bagian tag <input>, terdapat attribute onkeypress dengan value berupa function checkInput(event,’123′,this) yang artinya form input hanya bisa di input huruf 123 saja.

Begini demonya:


Biasanya kode diatas tidak berjalan menggunakan browser chrome, kamu kamu bisa gunakan  code ini sebagai alternative:
<input type="text" onkeyup="return checkInput(event,'123',this)">
<script type="text/javascript">
  function checkInput(e,chars,field){
    let teks = field.value;
    let teksSplit = teks.split("");
    let teksOke = [];
    for(let i=0;i<teksSplit.length;i++){
      if(chars.indexOf(teksSplit[i])!=-1){
        teksOke.push(teksSplit[i]);
      }
    }
    field.value = teksOke.join("");
  }
</script>
Begini demonya:

Atau jika kamu ingin menggunakan JQuery maka rubah codenya menjadi seperti ini:
<input type="text" id="textInput">
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script type="text/javascript"> 
  $('input#textInput').on('keyup',function(e){
    let teks = $(this).val();
    let charAggree = "123";  
    let teksSplit = teks.split("");
    let teksOke = [];
 
    for(let i=0;i<teksSplit.length;i++){
      if(charAggree.indexOf(teksSplit[i])!=-1){
        teksOke.push(teksSplit[i]);
      }
    }
  $(this).val(teksOke.join(""));        
  });
</script>
Begini demonya:


About the Author

Seorang yang hobi nulis dan hobi berbagi kebaikan❣️

Posting Komentar

Cookie Consent
Kami menggunakan cookies di situs ini untuk menganalisis lalu lintas, mengingat preferensi Anda, dan mengoptimalkan pengalaman Anda.
Oops!
Sepertinya ada yang salah dengan koneksi internet Anda. Harap sambungkan ke internet dan mulai menjelajah lagi.
AdBlock Detected!
Kami telah mendeteksi bahwa Anda menggunakan plugin pemblokir iklan di browser Anda.
Pendapatan yang kami peroleh dari iklan digunakan untuk mengelola situs web ini, kami meminta Anda untuk memasukkan situs web kami ke dalam daftar putih pada plugin pemblokir iklan Anda..
Site is Blocked
Sorry! This site is not available in your country.