一般社団法人 全国個人事業主支援協会

COLUMN コラム

JavaScriptで文字列操作第六弾です。
今回はJavaScriptで簡単にゼロパディングするメソッドをご紹介します。
ゼロパディングとは、指定した長さになるように文字列を埋めることです。

例えば、最大6桁の数字がランダムに入る場所の桁数を固定にしたいとき、とりあえず0を足して後ろから6桁取得するという方法があります。
    // ランダムな数字を文字列化したもの
    let num1 = "15";
    let num2 = "123456";
    // 6ケタに合わせる
    // 一旦0を6ケタ分足して、後ろから6ケタを取得
    console.log( ("000000" + num1).slice(-5) ); // 000015
    console.log( ("000000" + num2).slice(-5) ); // 123456

ですが、以下の関数を使用すれば一旦0を足すなどの無駄な動きがなく、短い記述量でコーディングできます。

1.padStartメソッド
「対象の文字列.padStart(最終的な文字列の長さ,対象の文字列を延長するための文字列);」で対象の文字列が指定の文字数になるように、現在の文字列の先頭から指定した文字を埋めます。
    // ランダムな数字を文字列化したもの
    let num1 = "15";
    let num2 = "123456";
    // 6ケタに合わせる
    // padStartを使う
    console.log( num1.padStart(6, 0) ); // 000015
    console.log( num2.padStart(6, 0) ); // 123456
    
    // 第2引数を省略した場合は半角スペースで埋める
    let num3 = "123";
    console.log( num3.padStart(6) ); // " 123"
    
    // 対象の文字列のほうが長い場合はそのまま返ってくる
    let num4 = "12345";
    console.log( num4.padStart(3) ); // "12345"
    
    // 最終的な文字列長さよりも埋める文字列の方が長かったら、途中で切れる
    let num5 = "1";
    console.log( num5.padStart(5, "01234567") ); // "01231"

2.padEndメソッド
「対象の文字列.padEnd(最終的な文字列の長さ,対象の文字列を延長するための文字列);」で対象の文字列が指定の文字数になるように、現在の文字列の終端から指定した文字を埋めます。
    // ランダムな数字を文字列化したもの
    let num1 = "15";
    let num2 = "123456";
    // 6ケタに合わせる
    // padEndを使う
    console.log( num1.padEnd(6, 0) ); // 150000
    console.log( num2.padEnd(6, 0) ); // 123456
    
    // 第2引数を省略した場合は半角スペースで埋める
    let num3 = "123";
    console.log( num3.padEnd(6) ); // "123 "
    
    // 対象の文字列のほうが長い場合はそのまま返ってくる
    let num4 = "12345";
    console.log( num4.padEnd(3) ); // "12345"
    
    // 最終的な文字列長さよりも埋める文字列の方が長かったら、途中で切れる
    let num5 = "1";
    console.log( num5.padEnd(5, "01234567") ); // "10123"

 

参考:
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア