我仍然是使用 javascript 的初学者,我正在尝试在我的输入中显示“印尼盾 (ina)”格式。我把代码放在我的 .js 文件中,但它不能完美地工作。任何帮助对我来说都是非常有价值的。
以下是我创建的代码。
谢谢 问候 们
function generateHtmlzakatemas() {
let htmlzakatemas = `
<h5 style="margin-bottom:3px;"><font>Masukkan Nominal:</font></h5>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" minlength="3" name="f_nominal_zakat" id="f_nominal" value="0" onkeyup="formatUangRupiah(this.value)" required="" autocomplete="off">
</div>
</div>
<div class="spinner-grow" role="status" style="margin-left: 45%; display:none">
<span class="sr-only">Loading...</span>
</div>
</div>
`;
$('#divZakatEmas').append(htmlzakatemas);
let f_nominal_rupiah = document.getElementById('f_nominal');
if (f_nominal_rupiah) {
f_nominal_rupiah.addEventListener('keyup', function () {
f_nominal_rupiah.value = formatUangRupiah(this.value, 'Rp.');
});
}
function formatUangRupiah(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 : '');
}
}