はじめに
文字列にパディングを追加することは必要なタスクとなる場合があります配置や書式設定など、さまざまな理由で。この記事では、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 サイトの他の関連記事を参照してください。