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

Bagaimanakah Saya Boleh Memadkan Rentetan ke Panjang Tertentu dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-11-25 12:59:14
asal
812 orang telah melayarinya

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])
Salin selepas log masuk

Contoh:

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

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;
};
Salin selepas log masuk

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)
Salin selepas log masuk

Pelanjutan Objek Rentetan

Berikut ialah sambungan kepada String objek:

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

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;
    });
};
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan