데이터의 길이 준수를 위하여 특정 문자를 채우고자 하는 경우가 있더군요

이럴때 사용 합니다


[함수 방식]

/** * 좌측문자열채우기 * @params * - str : 원 문자열 * - padLen : 최대 채우고자 하는 길이 * - padStr : 채우고자하는 문자(char) */ function lpad(str, padLen, padStr) { if (padStr.length > padLen) { console.log("오류 : 채우고자 하는 문자열이 요청 길이보다 큽니다"); return str; } str += ""; // 문자로 padStr += ""; // 문자로 while (str.length < padLen) str = padStr + str; str = str.length >= padLen ? str.substring(0, padLen) : str; return str; } console.log(lpad("01", 5, "0")); // 00001 console.log(lpad("01", 5, "01")); // 01010 /** * 우측문자열채우기 * @params * - str : 원 문자열 * - padLen : 최대 채우고자 하는 길이 * - padStr : 채우고자하는 문자(char) */ function rpad(str, padLen, padStr) { if (padStr.length > padLen) { console.log("오류 : 채우고자 하는 문자열이 요청 길이보다 큽니다"); return str + ""; } str += ""; // 문자로 padStr += ""; // 문자로 while (str.length < padLen) str += padStr; str = str.length >= padLen ? str.substring(0, padLen) : str; return str; } console.log(rpad("01", 5, "AB")); // 01ABA console.log(rpad("01", 5, "ABCDEF")); // 01 : 채우고자 하는 문자열이 요청 길이보다 큽니다


[prototype 방식]

/** * 좌측문자열채우기 * @params * - padLen : 최대 채우고자 하는 길이 * - padStr : 채우고자하는 문자(char) */ String.prototype.lpad = function(padLen, padStr) { var str = this; if (padStr.length > padLen) { console.log("오류 : 채우고자 하는 문자열이 요청 길이보다 큽니다"); return str + ""; } while (str.length < padLen) str = padStr + str; str = str.length >= padLen ? str.substring(0, padLen) : str; return str; }; console.log("05".lpad(5, "00")); // 00000 console.log("05".lpad(5, "01")); // 01010 /** * 우측문자열채우기 * @params * - padLen : 최대 채우고자 하는 길이 * - padStr : 채우고자하는 문자(char) */ String.prototype.rpad = function(padLen, padStr) { var str = this; if (padStr.length > padLen) { console.log("오류 : 채우고자 하는 문자열이 요청 길이보다 큽니다"); return str + ""; } while (str.length < padLen) str += padStr; str = str.length >= padLen ? str.substring(0, padLen) : str; return str; }; console.log("05".rpad(5, "AB")); // 05ABA

- 바로사용 가능 -


읽어 주셔서 감사합니다



블로그 이미지

촌놈 개발자 일기

개발자로서 살아가는 느낌과 정보를 공유 합니다

,