M K H U D A B L O G
input angka javascript

Dalam sebuah form yang menampilkan beberapa input angka untuk keperluan keuangan, terkadang kita perlu memberikan pemisah angka-angka tersebut agar lebih mudah dibaca dan tidak membingungkan si pengisi. Dengan menggunakan Javascript kita akan mencoba mengaplikasikan format tanda pemisah tersebut melalui beberapa function().

input angka javascript

Demo Download

Sebelum pembuatan, saya akan mencoba memberikan penjelasan secara konstektual bagaimana fungsi javascript ini bekerja.

  1. User melakukan input di sebuah form.
  2. Di dalam form tersebut sudah kita sisipi atribut onkeyup dan onkeydown untuk fungsi kita
  3. saat melakukan input, fungsi-fungsi javascript tersebut akan membaca angka lalu diformat karena adanya onkeyup dan okeydown.
  4. Setiap melebihi 3 digit angka, maka fungsi akan memberikan titik diantara angka masukan.

Tutorial kali ini kita membutuhkan 2 file yaitu index.html untuk form input, dan my.js untuk pemrosesan format input tersebut. Mari kita mulai tutorialnya.

My.js Tutorial

1Pertama kita download terlebih dahulu file my.js yang berisi fungsi-fungsi utama pemrosesan format angka. Silahkan di download di sini. File tersebut berisi 3 fungsi utama, yaitu :

  • tandaPemisahtitik(); untuk memisahkan format dengan titik
  • numbersOnly(); memvalidasi untuk masukan input adalah angka bukan karakter atau huruf.
  • bersihPemisah(); menghilangkan format pemisah pada angka ketika user menghapus isian dalam input

Setelah sedikit memahami fungsi-fungsi di dalam my.js di atas, kemudian kita embedkan file javascript tersebut ke dalam index.html

<script type="text/javascript" src="my.js"></script>

2Selanjutnya, kita membuat form input sederhana yang juga berisi fungsi javascript untuk alert pemrosesan dalam input. Untuk style.css Anda bisa mengubahnya sesuai keinginan. Berikut adalah index.html yang bisa Anda ketik :

<!DOCTYPE HTML>
<html>
  <head>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta http-equiv="Content-type" content="text/html; charset=utf-8">
   <link type="text/css" rel="stylesheet" href="style.css">
   <title>Javascript Latihanku</title>
   <script type="text/javascript" src="my.js"></script>
   <script type="text/javascript" charset="utf-8">
   function fnHitung() {
	var angka = bersihPemisah(bersihPemisah(bersihPemisah(bersihPemisah(document.getElementById('inputku').value)))); //input ke dalam angka tanpa titik
	if (document.getElementById('inputku').value == "") {
	 alert("Jangan Dikosongi");
	 document.getElementById('inputku').focus();
	 return false;
	}
	else
	 if (angka >= 1) {
	 alert("angka aslinya : "+angka);
	 document.getElementById('inputku').focus();
	 document.getElementById('inputku').value = tandaPemisahTitik(angka);
	 return false; 
	}
}
  </script>
  </head>
  <body>
    <div id="angka">
      <div id="input">
       <center><h1>Format Input Javascript</h1></center>
       <input type="text" id="inputku" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);">
       <input name="submit" tabindex="32" type="submit" id="submit" onclick="fnHitung()" value="Convert">
      </div>
    </div>
  </body>
</html>

3fnHitung(); yang saya masukkan di dalam file index.html tersebut dimaksudkan untuk memproses data untuk ditampilkan dalam bentuk alert. Jika anda lihat, di dalam fnHitung(); juga memanggil fungsi tandaPemisahtitik(); yang ada di file my.js, untuk melakukan validasi terhadap angka masukan.

Anda juga bisa melakukan pengetesan fungsi-fungsi tersebut melalui Console Di Google Chrome.

7 Comments

  • candra

    April 23, 2014

    thanks bgt broo. postingannya sangat membantu.

    Reply
  • Andi

    December 3, 2014

    Keren, tp gimana caranya biar bisa membatasi input untuk kelipatan 10rb atau kelipatan 100rb?

    Reply
    • Muhammad K Huda

      January 3, 2015

      Bisa menggunakan kondisional mas, Javascript bisa kok.

      Reply
  • yanuariyanto

    February 2, 2015

    mas, bagaimana, cara saya menyimpan ke table…. kan yg tampil misal 50.000 pakai pemisah titik…. tapi inginnya ketika di simpan dalam table tidak ada pemisah nya….. gmana mas mohon pencerahan
    terimakasih

    Reply
    • Muhammad K Huda

      February 6, 2015

      sebenarnya , kasus ini bisa dipecahkan melalui server side programming php. Jadi meskipun kita sudah mendapatkan variabel angka beserta titik, setidaknya bisa kita olah lagi dengan menghapus titik tersebut.
      Contoh :

      $variabel_satu = “10.000.000”;
      $variabel_dua = str_replace(“.”, “”, $variabel_satu);
      echo $variabel_dua;

      Reply
  • Syafrullah Akbar

    December 8, 2023

    demo gak bisa dilihat lagi gan

    Reply
    • Muhammad K Huda

      April 23, 2025

      oiya maaf, nanti kita update gan.

      Reply

Leave A Reply To candra

This site uses Akismet to reduce spam. Learn how your comment data is processed.