membuat inputan format rupiah

jadi saya sedang membuat inputan yang akan menghasilkan format rupiah sebagai pemisah atau titik antar angka. form inputan :

<input type="text" min="0" max="9999999999" required placeholder="enter product price" name="price" id="price" onkeypress="if(this.value.length == 16) return false;" class="box">

code javascript :

var price = document.getElementById('price');
    price.addEventListener('keyup', function(e)
    {
        price.value = formatRupiah(this.value);
    });

    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);

        if (ribuan) {
            separator = sisa ? '.' : '';
            rupiah += separator + ribuan.join('.');
        }

        rupiah = split[1] != undefined ? rupiah + ',' + split[1] : rupiah;
        return prefix == undefined ? rupiah : (rupiah ? 'Rp. ' + rupiah : '');
    }

kemudian untuk memanggil hasilnya saya gunakan code :

<div class="price"><span>Rp. </span><?php echo " " . number_format($fetch_products['price'],0,'.',','); ?><span id="rupiah"></span></div>

tapi kenapa ini tidak bekerja ? ketika saya menginputkan angka di form inputan misalnya 200.000.000 maka itu akan muncul dan akan ada titik pemisah setiap tiga angka. tapi hasil yang dimunculkan menghilangkan tiga angka terakhir. contoh hasil :

Screenshot 2022-12-24 150159.png33.32 KB

ada titik pemisah di form inputan tersebut.

Screenshot 2022-12-24 150305.png186.39 KB

pada gambar diatas hasil price menjadi 200,000 dan bukannya 200.000.000. tolong bantuannya apakah code atau cara pemanggilan hasil yang saya gunakan salah?

avatar wulan12
@wulan12

8 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban