> 웹 프론트엔드 > JS 튜토리얼 > JavaScript에서 문자열을 특정 길이로 어떻게 채울 수 있습니까?

JavaScript에서 문자열을 특정 길이로 어떻게 채울 수 있습니까?

Linda Hamilton
풀어 주다: 2024-11-25 12:59:14
원래의
811명이 탐색했습니다.

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

JavaScript에서 문자열을 원하는 길이로 패딩

소개

문자열에 패딩을 추가하는 것은 필수 작업일 수 있습니다 정렬이나 서식 지정 등 다양한 이유로 인해. 이 문서에서는 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 이전 브라우저용 Polyfill

브라우저의 경우 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 확장이 있습니다. 개체:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿