速報

imgproxyのICO処理にコード実行のおそれ|4.0.16だけでは残る問題を確認

CATEGORY

【JavaScript】padStart/padEndで文字列を指定長まで任意の文字で延長する

※本ページのリンクにはプロモーションが含まれています。

【JavaScript】padStart/padEndで文字列を指定長まで任意の文字で延長する

目次

本記事では、JavaScriptで文字列が指定した長さになるように任意の文字で延長する方法をご紹介しています。

0埋めみたいに文字列が指定した長さになるようにお任意の文字で延長したいんだけど、良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

padStart/padEnd

padStart/padEnd は文字列が指定された長さになるように任意の文字で延長することができるメソッドです。

これらのメソッドはES2017からの使用することができます。標準ではIE11に対応していない状況ですが、後程ご紹介するポリフィルで対応可能ですので、ご安心ください。

padStart/padEndの構文は下記の通りです。

//padStart
str.padStart(len, [,pad])
//padEnd
str.padEnd(len, [,pad])

strは文字列を指します。各メソッドの引数に指定してあるlenとpadにはそれぞれ下記を指定します。

len延長後の文字列の長さを指定する。strよりも短い数値を指定するとstrがそのまま返される。
padstrを延長する任意の文字列を指定する。strがlenよりも長い場合、lenの長さになるようにstrの前方もしくは後方にpadの文字を追加する。strよりもpadの文字列が長い場合は、padの先頭もしくは末尾の文字列をstrに置き換える。

説明だけだと伝わりにくいと思いますので、一例ですが処理の実行結果を記載します。

padStart

padStartはstrがlenの長さになるように文字列の前方を延長します。

下記はstrよりもlenが長くなるように指定し、padに一文字だけ指定した場合の結果です。

const str = "123"
console.log(str.padStart(5, 'a'))

//実行結果
"aa123"

padの文字がlenの長さになるまで延長されています。上記例ではpadにaを指定していますが、他の文字や記号にしても同様の結果となります。

ちなみにstrよりもpadが長いと下記のようになります。

const str = "123"
console.log(str.padStart(10, 'abcdefghij'))

//実行結果
"abcdefg123"

padStartの場合はpadの末尾からstrの文字列に置き換えられます。他の部分ははpadの文字列がそのまま表示される形となります。

padEnd

padEndはstrがlenの長さになるように文字列の後方を延長します。 前項と同じパターンを見てみましょう。

const str = "123"
console.log(str.padEnd(5, 'a'))

//実行結果
"123aa"

strよりもpadが長いパターンも同様です。

const str = "123"
console.log(str.padEnd(10, 'abcdefghij'))

//実行結果
"123abcdefg"

padStartは末尾から置き換えられ、padEndは先頭から置き換えられます。

下記のように覚えていてただければと思います。

padStart対象文字列が指定した長さになるように前方を延長する。
padEnd対象文字列が指定した長さになるように後方を延長する。

これで padStart/padEnd の使い方は完璧にマスターしました。ばっちりですね!

ポリフィルについて

Stringのポリフィルは下記のページで紹介されています。

https://github.com/behnammodi/polyfill/blob/master/string.polyfill.js

padStart/padEndも上記のポリフィルに含まれています。使用する場合はファイルをダウンロードして、表示するページに読み込んでください。

簡単なサンプルですが、下記のように記述することで動作します。

<script src="string.polyfill.js"></script>
<script>
    const str = "123"
    console.log(str.padStart(5, 'a'))
</script>

IE11でpadStart/padEndを使いたい場合に試してみてください。

スポンサーリンク

最後に

JavaScriptは進化を続けるプログラミング言語です。新しいプロパティやメソッドが追加され、より使いやすくなっていってます。技術に置いて行かれないように知識をアップデートするように心掛けていきましょう!

以上、JavaScriptのpadStart/padEndで文字列が指定長になるように任意の文字で延長する

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク