ゼロパディング・スペース埋め【JavaScript】

簡易な3桁のゼロパディング処理

function zeroPadding(number) {
  return ('000'+number).slice(-3);
}

console.log(zeroPadding(1));    // 001
console.log(zeroPadding(12));   // 012
console.log(zeroPadding(123));  // 123
console.log(zeroPadding(1234)); // 234

※注意:想定桁数を超えると上位の桁が失われる

パディングの一般化

/**
 * パディング処理
 * @param {number} number - 正の整数
 * @param {string} char - パディングする文字
 * @param {number} minDigits - 最小桁数
 * @return パディング済みの文字列
 */
function padding(number, char, minDigits) {
  var text = number+'';
  if (text.length < minDigits) {
    text = (Array(minDigits).join(char)+number).slice(-minDigits);
  }
  return text;
}
function zeroPadding(number, minDigits) {
  return padding(number, '0', minDigits);
}
function spacePadding(number, minDigits) {
  return padding(number, ' ', minDigits);
}

console.log(zeroPadding(1, 3));         // 001
console.log(spacePadding(12, 3));       //  12
console.log(padding(123, '0', 3));      // 123
console.log(padding(1234, '0', 3));     // 1234

String.prototype.padStart

console.log((1+'').padStart(3, '0'));   // 001
console.log((12+'').padStart(3, ' '));  //  12
console.log((123+'').padStart(3, '0')); // 123
console.log((1234+'').padStart(3, '0'));// 1234

※ES2017(es8)の新機能

コメント