yunsh206

회원가입로그인

컴퓨터 Javascript LPAD

2020.11.17 23:09

RanomA 조회 수:581

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

 

 
 

 

 

번호 제목 글쓴이 날짜 조회 수 추천 수
» Javascript LPAD RanomA 2020.11.17 581 0