One more . . . this one works with:
- strings and numbers,
- handles variable lengths, and
- lets you chose the padding character
Code:
function padZerosToLength (value, minLength, padChar) {
var iValLength= value.toString().length;
return ((new Array((minLength + 1) - iValLength).join(padChar)) + value);
}
Here are some sample results with varying input:
padZerosToLength(1, 6, 0); ===> 000001
padZerosToLength(12, 6, 0); ===> 000012
padZerosToLength(123, 6, 0); ===> 000123
padZerosToLength(1234, 6, 0); ===> 001234
padZerosToLength(12345, 6, 0); ===> 012345
padZerosToLength(123456, 6, 0); ===> 123456
. . . with varying length:
padZerosToLength(1, 1, 0); ===> 1
padZerosToLength(1, 2, 0); ===> 01
padZerosToLength(1, 3, 0); ===> 001
padZerosToLength(1, 4, 0); ===> 0001
padZerosToLength(1, 5, 0); ===> 00001
padZerosToLength(1, 6, 0); ===> 000001
. . . and with varying padding character:
padZerosToLength(1, 6, 0); ===> 000001
padZerosToLength(1, 6, 1); ===> 111111
padZerosToLength(1, 6, "x"); ===> xxxxx1
padZerosToLength(1, 6, "."); ===> .....1
padZerosToLength(1, 6, " "); ===> 1
padZerosToLength(1, 6, "\u25CF"); ===> ●●●●●1