Comment puis-je ajouter de manière dynamique des virgules lorsqu'un utilisateur entre des chiffres? Y at-il un bon formateur de nombres qui pourrait aider? Je dois ajouter ces chiffres plus tard, donc je dois éventuellement supprimer les virgules. Mais l'écran doit afficher les virgules pour une meilleure lisibilité.
Exécutez l'extrait de code pour le voir fonctionner
$('input.number').keyup(function(event) {
// skip for arrow keys
if(event.which >= 37 && event.which <= 40) return;
// format number
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input class="number">
Voici une implémentation de la réponse de @ maček dans Vanilla JS si vous ne souhaitez pas utiliser jQuery:
var el = document.querySelector('input.number');
el.addEventListener('keyup', function (event) {
if (event.which >= 37 && event.which <= 40) return;
this.value = this.value.replace(/\D/g, '')
.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
});
<input class="number">
<script>
function costt() {
var costs = document.getElementById('cost').value;
if(costs != '') {
// alert("ok");
cost.value = cost.value.replace(/\D/g, '').replace(/\B(?=(\d{3})+(?!\d))/g, ',');
} else {
// alert("lol");
cost.value= 0;
}
}
</script>