ChamomileGuides 3.0.4 Help

캐모마일 Util 모듈 사용법 및 가이드

개요

ChmmUtil은 프론트엔드의 Util 함수를 모아놓은 라이브러리입니다.

Util 정보

  1. ArrayUtils

  2. DateUtils

  3. Encoding

  4. Formatting

  5. Masking

  6. StringUtils

  7. Validation

  8. Web

  9. Alert 및 Confirm

사용법

  1. 설치

    • repository 설정

    // .npmrc 파일 registry=http://10.131.7.138:9090/repository/npm-public/
    • 라이브러리 추가

    npm i @chmm/util --save-dev
  2. 설정

    // nuxt.config.ts 파일 export default defineNuxtConfig({ ... modules: ['@chmm/util'], ...
  3. 사용

    // ArraysUtils const arraysUtils = new ArraysUtils() // Array 값이 empty 인지 검사 arraysUtils.isEmpty(array) // object array의 특정 키 값으로 유일한 array를 추출 arraysUtils.uniqueBy(array, key) // DateUtils const dateUtils = new DateUtils() // date + milli second dateUtils.addMilieSeconds(date, millis) // date + add seconds dateUtils.addSeconds(date, seconds) // add minutes dateUtils.addMinutes(date, minutes) // add hours dateUtils.addHours(date, hour) // add days dateUtils.addDays(date, days) // add months dateUtils.addMonths(date, months) // add years dateUtils.addYears(date, years) // 윤년 확인 dateUtils.isLeapYear(date) // 월별 일 수 반환 dateUtils.getDaysInMonth(year, month) // Date를 formatting dateUtils.format(date, formatString) // 문자열을 Date로 변환 dateUtils.parse(dateString, formatString) // date 문자열이 유효하지 확인 dateUtils.isValidDate(dateString, formatString) // 값이 date 유형인지 확인 dateUtils.isDate(date) // 일자 사이의 millisecond를 반환 dateUtils.getMilliDuration(date1, date2) // duration을 formatting (unit: 'milliSec' | 'sec' | 'minute' | 'hour') dateUtils.formatDuration(duration, unit) // local 유형의 ISO 문자열 반환 dateUtils.toLocalISOString(date) // JSON 변환 시, 일자를 현재 시간 기준으로 패치 dateUtils.patchConvertJsonWithCurrentZone() // Encoding const encoding = new Encoding() // 문자열을 base64 포맷으로 변환 encoding.encodeBase64(str) // base64 문자열을 평문으로 변경 encoding.decodeBase64(str) // Formatting const formatting = new Formatting() // 숫자를 천단위 콤마로 분리하여 표시 (fix: 고정 소수 자리 수) formatting.currency(number, fix) // date 포맷팅 (formatString: 변환할 문자 포맷, originFormat: 원본 포맷) formatting.date(dateStr, formatString, originFormat) // time 포맷팅 (formatString: 변환할 문자 포맷, originFormat: 원본 포맷) formatting.time(timeStr, formatString, originFormat) // datetime 포맷팅 (formatString: 변환할 문자 포맷, originFormat: 원본 포맷) formatting.datetime(datetimeStr, formatString, originFormat) // 카드번호 포맷팅 formatting.cardNo(cardStr) // 사업자 번호 포맷팅 formatting.corpRegNo(corpRegNoStr) // 파일 사이즈 포맷팅 formatting.fileSize(size) // Masking const masking = new Masking() /** 타입 * 이메일 : EMAIL * 이름 : NAME * 전화번호 : PHONE * 주민번호 : PERSONAL_NO * 아이디 : ID * 아이피 주소 : IP * 주소 : ADDRESS * 우편번호 : ZIP_NO * 카드 번호 : CARD_NO * 카드 유효기간 : CARD_PERIOD * 계좌번호 : ACC_NO */ // 커스텀 마스킹 유형 등록 (type: 마스킹 유형, handler: MaskingHandler) masking.registerMask(type, handler) // 마스킹 유형에 따른 Function 반환 masking.getMaskingFunctionByType(type) // 이메일 마스킹 masking.email(str) // 전화번호 마스킹 masking.phone(str) // 주민번호 마스킹 masking.rrn(str) // 이름 마스킹 masking.name(str) // 아이디 마스킹 masking.id(str) // 아이피 마스킹 masking.ip(str) // 주소 마스킹 masking.addr(str) // 우편번호 마스킹 masking.zipnumber(str) // 카드번호 마스킹 masking.cardNo(str) // 카드유효기간 마스킹 masking.cardPeriod(str) // 계좌번호 마스킹 masking.accNo(str) // StringUtils const stringUtils = new StringUtils() // 문자열의 byte를 조회 stringUtils.byteLength(str) // byte 수로 문자열 cut stringUtils.cutByteLength(str, length) // 문자열의 패턴을 검사 stringUtils.isMatchPatterns(str, patterns) // Validation const validation = new Validation() // Custom 유효성 검사 validation.customValid(str, regex) // ip address 유효성을 확인 validation.ipAddress(str) // 사업자 번호 유효성을 확인 validation.bizReisterNum(str) // 법인번호의 유효성을 확인 validation.corpRegisterNum(str) // 이메일 주소 유효성을 확인 validation.email(str) // 핸드폰 번호 유효성을 확인 validation.phone(str) // 주민등록번호 유효성을 확인 validation.rrn(str) // 카드번호 유효성을 확인 // MASTERCARD: 0, // VISA: 1, // KOREACARD: 2, // AMEX: 3, // DINNERCLUB1: 4, // DINNERCLUB2: 5, // DISCOVER: 6, // JCB: 7, // CREDITCARD: 8 validation.credit(str, validation.CREDITS.MASTERCARD) // 여권번호 유효성을 확인 validation.passPort(str) // 계좌번호 유효성을 확인 // BANKWOORI: 0, // BANKSHINHAN: 1, // BANKKOOKMIN: 2, // BANKIBK: 3, // BANKHANA: 4, // BANKPUSAN: 5, // BANKKAKAO: 6, // BANKNONGHYUP: 7, // BANKSC: 8, // BANKCITI: 9, // BANKKBANK: 10, // BANKSAEMAEUL: 11, // BANKPOST: 12, // BANKDAEGU: 13, // BANKGWANGJU: 14, // BANKJEONBUK: 15, // BANKKYONGNAM: 16 validation.account(str, validation.BANKS.BANKWOORI) // Web const web = new Web() // 브라우저 환경 여부 확인 web.isBrowser // useragent 조회 web.getUserAgent() // 모바일 요청인지 확인 web.isMobileRequest() // 안드로이드 요청 여부 확인 web.isAndroidRequest() // iOS 요청인지 확인 web.isIOsRequest() // iOS 버전을 조회 web.getIOSVersion() // 동일 URL인지 확인 web.isSameURL(url1, url2) // relative url인지 확인 web.isRelativeURL(url) // 1차 도메인 조회 web.getFirstDomain(url) // Alert showAlert(message, callBackFn, title) // Confirm showConfirm(message, callBackFn, title) // Alert Promise showAlertPromise(message, callBackFn, title)
Last modified: 21 4월 2025