<!DOCTYPE html>
<html>
<head>
<title>Membuat Mata Uang Rupiah Menggunakan Javascript</title>
</head>
<body>
<style type="text/css">
body {
font-family: sans-serif;
}
.kotak {
width: 350px;
margin: auto;
margin-top: 15px;
padding: 10px;
}
p{
margin-bottom: 20px;
color: #0004ff;
}
input {
text-align: right;
width: 100%;
margin-bottom: 20px;
margin-top: 10px;
padding: 7px 10px;
font-size: 18px;
}
</style>
<center>
<h1>Format Rupiah </h1>
</center>
<div class="kotak">
<span>Nominal Rupiah. :</span>
<input type="text" id="rupiah"/>
</div>
<script type="text/javascript">
var rupiah = document.getElementById('rupiah');
rupiah.addEventListener('keyup', function(e){
// tambahkan 'Rp.' pada saat form di ketik
// fungsi formatRupiah() untuk mengubah angka yang di ketik menjadi format angka
rupiah.value = formatRupiah(this.value, 'Rp. ');
});
/* Fungsi formatRupiah */
function formatRupiah(angka, prefix){
var number_string = angka.replace(/[^,\d]/g, '').toString(),
split = number_string.split(','),
sisa = split[0].length % 3,
rupiah = split[0].substr(0, sisa),
ribuan = split[0].substr(sisa).match(/\d{3}/gi);
// tambahkan titik jika yang di input sudah menjadi angka ribuan
if(ribuan){
separator = sisa ? '.' : '';
rupiah += separator + ribuan.join('.');
}
rupiah = split[1] != undefined ? rupiah + ',' + split[1] : rupiah;
return prefix == undefined ? rupiah : (rupiah ? 'Rp. ' + rupiah : '');
}
</script>
</body>
</html>