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

Disable backspace key using Jquery

Step by step migration of ASP.NET Core 2.2 to 3.1

How to Import CSV File and bind csv file data to gridview in using c#

Source Code Beautifier And Format Source Code For Blogger and Websites

Remove Owin from MVC 5 Application and use custom forms authentication

All about the IEnumerable VS IQueryable in c#