Can jQuery add commas while user typing numbers?
Run the code snippet to see it work
$('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">
Here's an implementation of @maček's answer in vanilla JS if you don't want to use 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>