컴퓨터 Javascript LPAD
2020.11.17 23:09
Oracle 의 LPAD 함수를 흉내내봤다. 해당 변수의 왼쪽에 지정된 문자를 지정된 길이가 될 때까지 채운다.
String 의 prototype 이다.
isNull 은 이 게시판에서 찾을 수 있는 사용자 정의 함수이니 간단하게 ! 연산자로 대체해도 된다.
/**
* 문자에 특정 문자를 개수만큼 붙여주는 함수
* @returns 입력된 문자로 패딩된 문자열
*/
String.prototype.lPad = (function(paddingCharacter, paddingLength){
// 입력된 패딩 문자가 없으면 변화없이 처리
if(isNull(paddingCharacter)) // if(!paddingCharacter) 로 대체 가능
{
return this;
}
// 입력된 패딩 개수가 없으면 기본 2자리
if(isNull(paddingLength)) // if(!paddingLength) 로 대체 가능
{
paddingLength = 2;
}
var retVal = this;
// 패딩 자릿수가 될 때까지 반복해서 문자열을 붙임
while(retVal.length < paddingLength)
{
retVal = paddingCharacter + retVal;
}
return retVal;
});
rPad - 오른쪽에 채우기
/**
* 문자에 특정 문자를 개수만큼 붙여주는 함수
* @returns string 입력된 문자로 패딩된 값
*/
String.prototype.rpad = (function(paddingCharacter, paddingLength){
// 입력된 패딩 문자가 없으면 변화없이 처리
if(isNull(paddingCharacter))
{
return this;
}
// 입력된 패딩 개수가 없으면 기본 2자리
if(isNull(paddingLength))
{
paddingLength = 2;
}
var retVal = this;
// 패딩 자릿수가 될 때까지 반복해서 문자열을 붙임
while(retVal.length < paddingLength)
{
retVal += paddingCharacter;
}
return retVal;
});
appendZero - 그냥 간단하게 0만 왼쪽에 채우기
/**
* 숫자에 "0"을 개수만큼 붙여주는 함수
* @param 입력된 숫자를 포함해 0이 붙을 총 자릿수
* @returns 0으로 패딩된 문자열
*/
Number.prototype.appendZero = (function(paddingLength){
if(isNull(paddingLength))
{
paddingLength = 2;
}
var retVal = this + "";
while(retVal.length < paddingLength)
{
retVal = "0" + retVal;
}
return retVal;
});
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 | 추천 수 |
|---|---|---|---|---|---|
| 835 | 예송논쟁 | RanomA | 2003.01.14 | 3938 | 0 |
| 834 | 갑자사화와 연산군식의 개혁 | RanomA | 2003.01.14 | 2297 | 0 |
| 833 | 이인화와 영원한 제국 | RanomA | 2003.01.14 | 1636 | 0 |
| 832 |
이상한 신문...
| RanomA | 2003.01.14 | 1023 | 10 |
| 831 | 필요한 건 상상력과 꼼꼼함... 그리고 긴 호흡... | RanomA | 2003.02.02 | 1249 | 0 |
| 830 | 일단 1권 다 읽었음... | RanomA | 2003.02.03 | 1398 | 0 |
| 829 | 추가로 영화와 책의 차이점. | RanomA | 2003.02.04 | 1327 | 0 |
| 828 | 성종이 어우동에게 느꼈던 분노감 | RanomA | 2003.02.11 | 2450 | 0 |
| 827 | 비둘기 가족을 부른 이석이라는 사람... | RanomA | 2003.02.16 | 1571 | 0 |
| 826 | 대한민국의 맘에 안드는 점 하나... | RanomA | 2003.02.19 | 1284 | 0 |
| 825 | 저는 오늘 꽃을 받았어요. [3] | RanomA | 2003.02.23 | 1516 | 0 |
| 824 | 난방보다 냉방이 어려운 이유... | RanomA | 2003.02.24 | 1911 | 0 |
| 823 | 그들이 하고픈 말은... [1] | RanomA | 2003.03.04 | 1210 | 0 |
| 822 | 제로보드와 내 홈피 게시판의 차이... | RanomA | 2003.03.09 | 2271 | 0 |
| 821 |
자료실의 첨부파일 개수가 무한대로...
| RanomA | 2003.03.26 | 1157 | 0 |
| 820 | MySQL 백업관련 명령어 몇 개 | RanomA | 2003.03.28 | 1123 | 0 |
| 819 |
MySQL 매뉴얼
| RanomA | 2003.03.28 | 936 | 14 |
| 818 |
Informix FAQ for Monitor, Tune, Support
| RanomA | 2003.04.08 | 926 | 11 |
| 817 | '근로자의 날'보다는 '노동절'이라고 칭합시다. | RanomA | 2003.04.29 | 981 | 0 |
| 816 | 나이수~~~ 유시민~~~ [2] | RanomA | 2003.04.29 | 1047 | 0 |






