Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Saya Boleh Memadkan Rentetan ke Panjang Tertentu dalam JavaScript?

Bagaimanakah Saya Boleh Memadkan Rentetan ke Panjang Tertentu dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-25 12:59:14747semak imbas

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

Tambahkan Rentetan ke Panjang yang Diingini dalam JavaScript

Pengenalan

Menambahkan padding pada rentetan boleh menjadi tugas yang perlu atas pelbagai sebab, seperti penjajaran atau pemformatan. Artikel ini meneroka cara melapik rentetan pada panjang yang ditentukan dalam JavaScript.

Penyelesaian ES8

ECMAScript 2017 (ES8) memperkenalkan String.padStart, menjadikan padding rentetan menjadi mudah. Sintaksnya ialah:

string.padStart(targetLength, [padString])

Contoh:

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

Polyfill untuk Penyemak Imbas Pra-ES8

Untuk penyemak imbas yang tidak menyokong ES8, polyfill boleh digunakan:

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;
};

Penyelesaian Klasik

Sebelum ES8, pendekatan biasa melibatkan pendahuluan padding:

var n = 123

String("00000" + n).slice(-5); // returns 00123
("00000" + n).slice(-5); // returns 00123
("     " + n).slice(-5); // returns "  123" (with two spaces)

Pelanjutan Objek Rentetan

Berikut ialah sambungan kepada String objek:

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

Contoh Penggunaan:

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;
    });
};

Ini mengembalikan masa dalam format "15:30".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadkan Rentetan ke Panjang Tertentu dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn