Main Page

Introduction to Javascript


Add and strip thousands separators



Script

var kSeparator = ',';

/**
 *  Add thousands separators to an integer
 *  @param  String s       String version of integer
 *  @return String
 */
function addSeparators(s)
{
  var d = "";
  var ndx = 1;
  
  for (var i = s.length - 1; i >= 0; i--) {
    d += s.charAt(i);

    if ((ndx++ % 3) == 0) {
      if (s.charAt(i - 1) != kSeparator) {
        d += kSeparator;
      }
      else {
        d += s.charAt(--i);
      }
    }
  }

  return d.reverse();
}

function doAddSeparators(input, output)
{
  output.value = addSeparators(input.value);
}

function doStripSeparators(input, output)
{
  output.value = stripSeparators(input.value);
}

/**
 *  Strip thousands separators from an integer
 *  @param  String s       String version of integer
 *  @return String
 */
function stripSeparators(s)
{
  return s.replaceChars(kSeparator, "");
}

/**
 *  Reverses the characters in a string. Method added to String object.
 *  @requires String
 *  @return   String in reversed order
 *  @type     String
 */
String.prototype.reverse = function ()
{
  return this.split("").reverse().join("");
};