컴퓨터 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;
});






