###sliceを使う
var hoge = ("000" + 3).slice(-3);
console.log(hoge);
// 003
var hogeHoge = ("000" + 123).slice(-3);
console.log(hogeHoge);
// 123
// 関数にしてみる
var zeroPadding = (val, length) => {
// ここで引数の妥当性チェックを行う方が良いのかもしれないが今回は割愛している
var parts = "";
for (var i = 1; i <= length; i++) {
parts += "0";
}
return (parts + val).slice(-length);
};
// 呼び出し
console.log(zeroPadding(15, 3));
// 015
console.log(zeroPadding(150, 3));
// 150
// 補足
// "000"と指定している桁数を0埋め対象の値の桁数が超えてしまった場合、期待している0埋めにならない。
console.log(("000" + 5432).slice(-3));
// 432
// sliceの引数の数字が"000"と指定している桁数未満の場合、期待している0埋めにならない。
console.log(("000" + 543).slice(-2));
// 43
###padStartを使う
sliceよりも扱いやすい。
ES2017以降であれば使用可能だがIEでは使用できない。
※コメントでのご指摘ありがとうございます。
var hoge = 3;
console.log(String(hoge).padStart(3,"0"));
// 003
console.log(String(hoge).padStart(5,"0"));
// 00003
var hogeHoge = 345;
console.log(String(hogeHoge).padStart(2,"0"));
// 345
console.log(String(hogeHoge).padStart(3,"0"));
// 345