ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で文字列を希望の長さにパディングするにはどうすればよいですか?
JavaScript には、特定の文字列操作タスクを実行するためのさまざまなメソッドが用意されています。そのようなタスクの 1 つは、文字列を希望の長さまでパディングし、空のスペースを文字で埋めることです。この記事では、JavaScript で文字列をパディングするさまざまな方法について説明します。
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 がサポートされていない場合は、 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; }; }
文字列をパディングする簡単な方法は、文字列を必要なパディング文字と連結することです。
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 オブジェクトを拡張することもできます。便宜上、paddingLeft メソッドを含めます。
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 サイトの他の関連記事を参照してください。