Sling Academy
Home/JavaScript/JavaScript: 2 Ways to Format a String with Leading Zeros

JavaScript: 2 Ways to Format a String with Leading Zeros

Last updated: June 15, 2023

Padding strings with leading zeros ensures consistent formatting, proper sorting, and adherence to fixed-length requirements in numeric fields, data storage, and user interfaces.

This pithy, example-based article walks you through a couple of different ways to format a string with leading zeros in modern JavaScript.

Using the padStart() method

You can call the padStart() method on a string to add leading zeros to that string until it reaches a specified length. is simple, elegant, and built-in. It can handle any number of leading zeros and any length of the string.

Syntax:

string.padStart(targetLength [, padString])

Where:

  • targetLength (required): The desired length of the resulting padded string. If the original string is shorter than this length, it will be padded with the specified padString to reach the target length.
  • padString (optional): The string used for padding. It is repeated as needed to fill the padding. The default value is an empty string ("").

Example:

const s = '123'

// pad zeros on the left until the string is 5 characters
console.log(s.padStart(5, '0')) // 00123

// pad zeros on the left until the string is 10 characters
console.log(s.padStart(10, '0')) // 0000000123

// no zeros will be adde
console.log(s.padStart(3, '0')) // 123

If your input is not a string but a number, you can first convert it into a string the use the padStart() method:

const number = 2023

// convert number to string
const str = number.toString()

// pad string with 0 until its length is 10
const paddedStr = str.padStart(10, '0')
console.log(paddedStr) // 0000002023

Using a loop and string concatenation

If there’s a reason you can’t use the padStart() method, you can manually get the job done by using a loop and string concatenation. The steps are:

  1. initialize an empty string to store the leading zeros.
  2. Use a loop to count how many leading zeros are needed by subtracting the length of the input string from the target length. Inside the loop, append 0 to the leading zeros string using the += operator or the push method of an array object.
  3. Concatenate the leading zeros string with the input string using the + operator or the join() method of an array object.

Code example:

// For string
const addLeadingZeros3 = (str, totalLength) => {
  while (str.length < totalLength) {
    str = '0' + str;
  }
  return str;
};

// Example usage
const str = '2023';
const paddedStr = addLeadingZeros3(str, 6);
console.log(paddedStr); // 002023

// if your input is number, the use the toString() method to convert it to string first
const num = 2024
const paddedNum = addLeadingZeros3(num.toString(), 6); // 002024

That’s it. If you have a question, feel free to leave a comment. Happy coding & enjoy your day!

Next Article: JavaScript: Check if a string contains non-alphanumeric characters

Previous Article: JavaScript: Remove non-alphanumeric characters from a string

Series: JavaScript Strings

JavaScript

You May Also Like

  • Handle Zoom and Scroll with the Visual Viewport API in JavaScript
  • Improve Security Posture Using JavaScript Trusted Types
  • Allow Seamless Device Switching Using JavaScript Remote Playback
  • Update Content Proactively with the JavaScript Push API
  • Simplify Tooltip and Dropdown Creation via JavaScript Popover API
  • Improve User Experience Through Performance Metrics in JavaScript
  • Coordinate Workers Using Channel Messaging in JavaScript
  • Exchange Data Between Iframes Using Channel Messaging in JavaScript
  • Manipulating Time Zones in JavaScript Without Libraries
  • Solving Simple Algebraic Equations Using JavaScript Math Functions
  • Emulating Traditional OOP Constructs with JavaScript Classes
  • Smoothing Out User Flows: Focus Management Techniques in JavaScript
  • Creating Dynamic Timers and Counters with JavaScript
  • Implement Old-School Data Fetching Using JavaScript XMLHttpRequest
  • Load Dynamic Content Without Reloading via XMLHttpRequest in JavaScript
  • Manage Error Handling and Timeouts Using XMLHttpRequest in JavaScript
  • Handle XML and JSON Responses via JavaScript XMLHttpRequest
  • Make AJAX Requests with XMLHttpRequest in JavaScript
  • Customize Subtitle Styling Using JavaScript WebVTT Integration