Can jQuery add commas while user typing numbers?

前端 未结 3 1664
猫巷女王i
猫巷女王i 2020-11-30 01:26

How would I go about dynamically adding commas as a user is entering numbers? Is there a good number formatter that would help? I have to add these numbers later so I eventu

相关标签:
3条回答
  • 2020-11-30 01:39

    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">

    0 讨论(0)
  • 2020-11-30 01:49

    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">

    0 讨论(0)
  • 2020-11-30 01:54
            <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>
    

    0 讨论(0)
提交回复
热议问题