Add Comma automatically while entering amounts in textbox using Javascript

Use following JavaScript function to add comma in numeric 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);"

Comments

  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?

    ReplyDelete
    Replies
    1. Thank you for your valuable comment

      i will look into the issue and update this post soon

      Delete
    2. just replace the regular expression with this:

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

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

    ReplyDelete

Post a Comment

Popular posts from this blog

I have created an application to extract text from image using AI

Angular User Session Timeout example step by step

Create Chat bot application using Python, Streamlit and Gemini AI

Implement Logging in CSV file using Nlog in .net core MVC application- part 2

Implement Nlog in .Net core MVC application part 1