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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-30 08:01:14874ブラウズ

How Can I Pad Strings to a Desired Length in JavaScript?

JavaScript での文字列のパディング

はじめに

JavaScript には、特定の文字列操作タスクを実行するためのさまざまなメソッドが用意されています。そのようなタスクの 1 つは、文字列を希望の長さまでパディングし、空のスペースを文字で埋めることです。この記事では、JavaScript で文字列をパディングするさまざまな方法について説明します。

String.padStart を使用した解決策

ECMAScript 2017 (ES8) では、この目的のために String.padStart メソッドが導入されました。必要な長さとオプションのパディング文字列 (デフォルトはスペース) の 2 つのパラメータを取ります。

"Jonas".padStart(10); // Default pad string is a space
"42".padStart(6, "0"); // Pad with "0"
"*".padStart(8, "-/|\"); // produces '-/|\-/|*'

String.padStart のポリフィル

String.padStart がサポートされていない場合は、 JavaScript 環境では、ポリフィルとして追加できます:

if (!String.prototype.padStart) {
  String.prototype.padStart = function(length, padString) {
    padString = padString || " ";
    if (this.length >= length) return this;
    else return padString.repeat(length - this.length) + this;
  };
}

Using String連結

文字列をパディングする簡単な方法は、文字列を必要なパディング文字と連結することです。

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 オブジェクトの拡張

String オブジェクトを拡張することもできます。便宜上、paddingLeft メソッドを含めます。

String.prototype.paddingLeft = function (paddingValue) {
   return String(paddingValue + this).slice(-paddingValue.length);
};

Example使用法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。