ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で文字列を特定の長さにパディングするにはどうすればよいですか?

JavaScript で文字列を特定の長さにパディングするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-25 12:59:14
オリジナル
815 人が閲覧しました

How Can I Pad a String to a Specific Length in JavaScript?

JavaScript で文字列を希望の長さにパディングする

はじめに

文字列にパディングを追加することは必要なタスクとなる場合があります配置や書式設定など、さまざまな理由で。この記事では、JavaScript で文字列を指定された長さにパディングする方法について説明します。

ES8 ソリューション

ECMAScript 2017 (ES8) では String.padStart が導入され、文字列のパディングが簡単になりました。構文は次のとおりです:

string.padStart(targetLength, [padString])
ログイン後にコピー

例:

"Jonas".padStart(10); // Default pad string is a space
"42".padStart(6, "0"); // Pad with "0"
"*".padStart(8, "-/|\"); // produces '-/|\-/|*'
ログイン後にコピー

ES8 以前のブラウザ用のポリフィル

ブラウザの場合ES8 をサポートしていない場合、ポリフィルは使用:

String.prototype.padStart = function (targetLength, padString) {
  if (this.length >= targetLength) { return this; }
  padString = padString !== undefined ? padString : ' ';
  return padString.repeat((targetLength - this.length) / padString.length) + this;
};
ログイン後にコピー

古典的な解決策

ES8 より前の一般的なアプローチには、先頭にパディングを追加する方法が含まれていました:

var n = 123

String("00000" + n).slice(-5); // returns 00123
("00000" + n).slice(-5); // returns 00123
("     " + n).slice(-5); // returns "  123" (with two spaces)
ログイン後にコピー

文字列オブジェクト拡張

これは、文字列オブジェクト:

String.prototype.paddingLeft = function (paddingValue) {
   return String(paddingValue + this).slice(-paddingValue.length);
};
ログイン後にコピー

使用例:

function getFormattedTime(date) {
  var hours = date.getHours();
  var minutes = date.getMinutes();

  hours = hours.toString().paddingLeft("00");
  minutes = minutes.toString().paddingLeft("00");

  return "{0}:{1}".format(hours, minutes);
};

String.prototype.format = function () {
    var args = arguments;
    return this.replace(/{(\d+)}/g, function (match, number) {
        return typeof args[number] != 'undefined' ? args[number] : match;
    });
};
ログイン後にコピー

これは、時刻を「15:30」の形式で返します。

以上がJavaScript で文字列を特定の長さにパディングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート