Add Comma automatically while entering amounts in textbox using Javascript

Use following javascript function to add comma in numerics input in textbox

function Comma(Num)
       Num += '';
       Num = Num.replace(/,/g, '');

       x = Num.split('.');
       x1 = x[0];

       x2 = x.length > 1 ? '.' + x[1] : '';

         var rgx = /(\d)((\d)(\d{2}?)+)$/;

       while (rgx.test(x1))

       x1 = x1.replace(rgx, '$1' + ',' + '$2');
       return x1 + x2;       

Use following event of input textbox to call above function

onkeyup = "javascript:this.value=Comma(this.value);"


  1. This doesn't work as it should.
    It works ok for the first thousand - a comma is inserted after entering 1000 - but when you continue entering numbers after that, it inserts consecutive commas after 2 digits, not 3, so you get something like this: 10,00,000 - where it should be: 1,000,000

    Did you test this with more than 4 digits?

    1. Thank you for your valuable comment

      i will look into the issue and update this post soon

    2. just replace the regular expression with this:

      var rgx = /(\d)((\d{3}?)+)$/;

  2. i need in textbox when type amount 12000 out should come in 12,000 likes this


Post a Comment

Popular posts from this blog

Restore the lost focus of Auto post back controls in update Panel control

Clone a generic list in C# using extension method