$str

Namespace

$str

Description:
  • 문자열 관련 유틸리티

Author:
  • 이승갑 (dltmdrkq2@gmail.com)
  • 정민석 (whitn86@gmail.com)

Methods

(static) byte(str) → {number}

Description:
  • 특정 문자열의 byte (UTF-8 기준, 한글 3byte)

Example
var path = $str.byte("Hello");
Parameters:
Name Type Description
str string

byte를 계산할 문자열

Returns:

특정 문자열의 byte

Type
number

(static) byte2(str) → {number}

Description:
  • 특정 문자열의 byte (ASCII 기준, 한글 2byte)

Example
var path = $str.byte2("Hello");
Parameters:
Name Type Description
str string

byte를 계산할 문자열

Returns:

특정 문자열의 byte

Type
number

(static) camel(str) → {string}

Description:
  • snake양식의 문자열을 camel양식으로 바꾸어 새로운 문자열을 만든다.

Example
var origin = "CD_NM";
var str = $str.camel(origin); //"cdNm"
Parameters:
Name Type Description
str string

원본 문자열

Returns:

camel양식으로 변경된 문자열

Type
string

(static) digits(str, length) → {string}

Description:
  • 문자열이 특정 길이가 될 때 까지 문자열 좌측에 "0"을 삽입한다.

Example
var origin = "14";
var result = $str.digits(origin, 4); //"0014"
Parameters:
Name Type Description
str string

원본 문자열

length number

채워넣을 길이

Returns:

digits 처리된 문자열

Type
string

(static) ellipsis(text, font, width) → {string}

Description:
  • 특정 문자열을 정해진 길이만큼 말줄임 처리 한다.

Example
//문자열 폰트 이용
var text = '다람쥐 쳇바퀴 타고파';
var font = '500 13px/130% "Noto Sans KR"'
var result = $str.ellipsis(text, font, 100);
Parameters:
Name Type Description
text string

말줄임 처리할 문자열

font string | nexacro._FontObject

: 폰트

width number

말줌임 처리할 넓이(px), 해당 넓이가 될떄까지 줄임 처리함

Returns:

말줄임 처리된 문자열

Type
string

(static) ext(str) → {string}

Description:
  • File명 형태의 문자열에서 확장자 부분만 추출해 새로운 문자열로 만든다.

Example
var origin = "test.xlsx";
var str = $str.ext(origin);
Parameters:
Name Type Description
str string

원본 문자열

Returns:

확장자

Type
string

(static) getByte2Pos(str, nByte) → {number}

Description:
  • 특정 문자열의 특정 바이트 까지의 위치(ASCII 기준, 한글 2byte)

Example
var pos = $str.getByte2Pos("Hello", 10);
Parameters:
Name Type Description
str string

byte를 계산할 문자열

nByte number

제한할 byte

Returns:

특정 문자열중 특정 바이트 까지의 글자 수

Type
number

(static) getBytePos(str, nByte) → {number}

Description:
  • 특정 문자열의 특정 바이트 까지의 위치 (UTF-8 기준, 한글 3byte)

Example
var pos = $str.getBytePos("Hello", 10);
Parameters:
Name Type Description
str string

byte를 계산할 문자열

nByte number

제한할 byte

Returns:

특정 문자열중 특정 바이트 까지의 글자 수

Type
number

(static) getFirstMathedValue(target, value) → {string}

Description:
  • 특정 문자열(target)에 다른 문자열의 값(value)이 존재하는지 확인한 후 처음으로 일치하는 요소를 리턴합니다.

Example
var text = $str.getFirstMathedValue("다람쥐 쳇바퀴에 타고파", "생쥐,쳇바퀴,타고")  //"쳇바퀴"
Parameters:
Name Type Description
target string

특정 문자열이 속해 있는지 검사할 문자열

value string | Array.<string>

검사에 사용할 문자열, 여러 문자열일 경우 ','을 삽입해 구분하거나 문자열의 배열을 입력

Returns:

처음으로 일치하는 요소

Type
string

(static) isBiznum(str, separatoropt) → {boolean}

Description:
  • 입력된 문자열이 사업자등록번호 양식에 적합한지 여부 확인

Example
var origin = "0000000000";
var isValid = $str.isBiznum(origin);
Parameters:
Name Type Attributes Description
str string

사업자등록번호 양식 적합여부를 확인하고자 하는 문자열

separator string <optional>

각 번호 사이 구분자
입력하지 않는다면 구분자가 없는것으로 판단합니다.

Returns:

사업자등록번호 양식 적합여부

Type
boolean

(static) isCorpnum(str, separatoropt) → {boolean}

Description:
  • 입력된 문자열이 법인등록번호 양식에 적합한지 여부 확인

Example
var origin = "0000000000";
var isValid = $str.isCorpnum(origin);
Parameters:
Name Type Attributes Description
str string

법인등록번호 양식 적합여부를 확인하고자 하는 문자열

separator string <optional>

각 번호 사이 구분자
입력하지 않는다면 구분자가 없는것으로 판단합니다.

Returns:

법인등록번호 양식 적합여부

Type
boolean

(static) isEmail(str) → {boolean}

Description:
  • 입력된 문자열이 이메일 양식에 적합한지 여부 확인

Example
var origin = "ms86@ezinc.co.kr";
var isValid = $str.isEmail(origin);
Parameters:
Name Type Description
str string

이메일 양식 적합여부를 확인하고자 하는 문자열

Returns:

이메일 양식 적합여부

Type
boolean

(static) isEng(str) → {boolean}

Description:
  • 입력된 문자열이 영문자로만 이루어졌는지 확인

Example
var origin = "테스트문자열";
var isEngStr = $str.isEng(origin);
Parameters:
Name Type Description
str string

영문자여부를 확인할 문자열

Returns:

영문자로만 이루어져있는지 여부

Type
boolean

(static) isEngNum(str) → {boolean}

Description:
  • 입력된 문자열이 영문자와 숫자로만 이루어졌는지 확인

Example
var origin = "테스트문자열";
var isNumStr = $str.isEngNum(origin);
Parameters:
Name Type Description
str string

영문자와 숫자로만 이루어졌는지 여부를 확인할 문자열

Returns:

영문자와 숫자로만 이루어져있는지 여부

Type
boolean

(static) isForeign(str) → {boolean}

Description:
  • 입력된 문자열이 외국인등록번호 양식에 적합한지 여부 확인 디지트코드는 해석하지 않습니다.

Example
var origin = "0001017000000";
var isValid = $str.isForeign(origin);
Parameters:
Name Type Description
str string

외국인등록번호 양식 적합여부를 확인하고자 하는 문자열

Returns:

외국인등록번호 양식 적합여부

Type
boolean

(static) isJumin(str) → {boolean}

Description:
  • 입력된 문자열이 주민등록번호 양식에 적합한지 여부 확인 2020년 10월 이후의 값은 디지트코드를 해석하지 않습니다.

Example
var origin = "0001013000000";
var isValid = $str.isJumin(origin);
Parameters:
Name Type Description
str string

주민등록번호 양식 적합여부를 확인하고자 하는 문자열

Returns:

주민등록번호 양식 적합여부

Type
boolean

(static) isKor(str) → {boolean}

Description:
  • 입력된 문자열이 한글로만 이루어졌는지 확인

Example
var origin = "테스트문자열";
var isKorStr = $str.isKor(origin);
Parameters:
Name Type Description
str string

한글여부를 확인할 문자열

Returns:

한글로만 이루어져있는지 여부

Type
boolean

(static) isLastPhoneme(str) → {boolean}

Description:
  • 문자열의 마지막 문자가 종성이 있는 한국어문자인지 여부

Example
var origin = "한글";
var isLastPhoneme = $str.isLastPhoneme(origin);
Parameters:
Name Type Description
str string

원본 문자열

Returns:

종성으로 끝나는지 여부

Type
boolean

(static) isMobile(str, separatoropt) → {boolean}

Description:
  • 입력된 문자열이 휴대전화번호 양식에 적합한지 여부 확인

Example
var origin = "010-0000-1234";
var isValid = $util.isMobile(origin);
Parameters:
Name Type Attributes Description
str string

휴대전화번호 양식 적합여부를 확인하고자 하는 문자열

separator string <optional>

각 번호 사이 구분자
입력하지 않는다면 구분자가 없는것으로 판단합니다.

Returns:

휴대전화번호 양식 적합여부

Type
boolean

(static) isNum(str) → {boolean}

Description:
  • 입력된 문자열이 숫자로만 이루어졌는지 확인

Example
var origin = "테스트문자열";
var isNumStr = $str.isNum(origin);
Parameters:
Name Type Description
str string

숫자여부를 확인할 문자열

Returns:

숫자로만 이루어져있는지 여부

Type
boolean

(static) isRRN(str) → {boolean}

Description:
  • 입력된 문자열이 주민등록번호 혹은 외국인등록번호 양식에 적합한지 여부 확인 2020년 10월 이후의 값은 디지트코드를 해석하지 않습니다.

Example
var origin = "0001017000000";
var isValid = $str.isRRN(origin);
Parameters:
Name Type Description
str string

주민등록번호 혹은 외국인등록번호 양식 적합여부를 확인하고자 하는 문자열

Returns:

주민등록번호 혹은 외국인등록번호 양식 적합여부

Type
boolean

(static) isTel(str, separatoropt) → {boolean}

Description:
  • 입력된 문자열이 전화번호 양식에 적합한지 여부 확인

Example
var origin = "051-891-1839";
var isValid = $str.isTel(origin);
Parameters:
Name Type Attributes Description
str string

전화번호 양식 적합여부를 확인하고자 하는 문자열

separator string <optional>

각 번호 사이 구분자
입력하지 않는다면 구분자가 없는것으로 판단합니다.

Returns:

전화번호 양식 적합여부

Type
boolean

(static) left(str, length) → {string}

Description:
  • 문자열을 좌측으로부터 특정 길이만큼 잘라 새로운 문자열을 만든다.

Example
var origin = "Lorem ipsum dolor sit amet";
var str = $str.left(origin, 5); //"Lorem"
Parameters:
Name Type Description
str string

원본 문자열

length number

잘라낼 길이

Returns:

잘라낸 문자열

Type
string

(static) num(str) → {string}

Description:
  • 문자열에서 숫자만 추출해 새로운 문자열을 만든다.

Example
var origin = "1945-08-15";
var str = $str.num(origin); //"19450815"
Parameters:
Name Type Description
str string

원본 문자열

Returns:

숫자만으로 이루어진 문자열

Type
string

(static) padEnd(str, length, char) → {string}

Description:
  • 문자열이 특정 길이가 될 때 까지 문자열 우측에 문자를 삽입한다.

Example
var origin = "14";
var result = $str.padEnd(origin, 4, "0"); //"1400"
Parameters:
Name Type Description
str string

원본 문자열

length number

채워넣을 길이

char string

삽입할 문자

Returns:

처리된 문자열

Type
string

(static) padStart(str, length, char) → {string}

Description:
  • 문자열이 특정 길이가 될 때 까지 문자열 좌측에 문자를 삽입한다.

Example
var origin = "14";
var result = $str.padStart(origin, 4, "0"); //"0014"
Parameters:
Name Type Description
str string

원본 문자열

length number

채워넣을 길이

char string

삽입할 문자

Returns:

처리된 문자열

Type
string

(static) patchField(origin, field) → {string}

Description:
  • 특정 문자열(target)에 바인딩 처리를 수행합니다.

Examples
//바인딩 예시
var origin = "[{0}님에게 메시지] {0}님의 {1}을 축하합니다";
var arr = ["홍길동","생일"];
var result = $str.patchField(origin, arr); //[홍길동님에게 메시지] 홍길동님의 생일을 축하합니다.
//조사 사용시
var origin = "{0}<은/는> {1}<이/가> 아닙니다. {2}<와/과> {3}<을/를> 지참하여 관련 부서에 문의하세요"
var arr = ["신입생","신청대상","확인증","신청서"];
var result = $str.patchField(origin, arr); //신입생은 신청대상이 아닙니다. 확인증과 신청서를 지참하여 관련 부서에 문의하세요
//objct 사용시
var origin = "{TARGET}<은/는> {TYPE}<이/가> 아닙니다. {ITEM0}<와/과> {ITEM1}<을/를> 지참하여 관련 부서에 문의하세요"
var arr = {TARGET: "신입생", TYPE: "신청대상", ITEM0: "확인증", ITEM1:"신청서"};
var result = $str.patchField(origin, arr); //신입생은 신청대상이 아닙니다. 확인증과 신청서를 지참하여 관련 부서에 문의하세요
Parameters:
Name Type Description
origin string

바인딩 가능한 문자열, 바인딩하고자 하는 요소는 {index} 형태로 기입, 바인딩 요소중 해당 index의 값이 바인딩됨,

  • 보조사 -은/-는의 경우 <은/는>으로 기입합니다.
  • 보격보사 -이/-가의 경우 <이/가>로 기입합니다.
  • 목적격조사 -을/-를의 경우 <을/를>로 기입합니다.
  • 부사격조사, 접속조사 -와/-과의 경우 <와/과>로 기입합니다.
field Array.<string> | object

바인딩 요소,

Returns:

바인딩 처리된 문자열

Type
string

(static) right(str, length) → {string}

Description:
  • 문자열을 우측으로부터 특정 길이만큼 잘라 새로운 문자열을 만든다.

Example
var origin = "Lorem ipsum dolor sit amet";
var str = $str.right(origin, 5); // " amet"
Parameters:
Name Type Description
str string

원본 문자열

length number

잘라낼 길이

Returns:

잘라낸 문자열

Type
string

(static) snake(str) → {string}

Description:
  • snake양식의 문자열을 Upper Snake양식으로 바꾸어 새로운 문자열을 만든다.

Example
var origin = "cdNm";
var str = $str.snake(origin); //"CD_NM"
Parameters:
Name Type Description
str string

원본 문자열

Returns:

Upper Snake양식으로 변경된 문자열

Type
string

(static) unicode(str) → {string}

Description:
  • 특정 문자열을 unicode로 만든다.

Example
var str = "※ Attention !"
var uni = $str.unicode("※ Attention !"); 
//'\\u203b\\u0020\\u0041\\u0074\\u0074\\u0065\\u006e\\u0074\\u0069\\u006f\\u006e\\u0020\\u0021'
Parameters:
Name Type Description
str string

유니코드로 만들 문자열

Returns:

유니코드 문자열

Type
string

(static) unicodeToChars(str) → {string}

Description:
  • 유니코드 문자열을 일반 문자열로 되돌린다.

Example
var str = "※ Attention !"
var uni = $str.unicode("※ Attention !"); 
Parameters:
Name Type Description
str string

유니코드 문자열

Returns:

일반 문자열

Type
string

(static) uri(str) → {string}

Description:
  • uri 웹주소 명식의 문자열에서 uri부분만 추출해 새로운 문자열로 만든다.

Example
var origin = "https://www.google.co.kr/search?source=hp&ei=YjIzW6aWL8yj-QaVuLOoDw&q=%EC%9D%B4%EC%A7%80%EC%95%84%EC%9D%B4%EC%95%A4%EC%94%A8&oq=%EC%9D%B4%EC%A7%80%EC%95%84%EC%9D%B4%EC%95%A4%EC%94%A8&gs_l=psy-ab.3..35i39k1l2j0i30k1j0i5i30k1.1055.4169.0.4363.16.14.0.0.0.0.117.1209.5j7.12.0....0...1.1j4.64.psy-ab..8.8.794.0..0j0i131k1j0i67k1j0i20i263k1.0.XX_Yez57Mis";
var uri = $str.uri(origin.uri);
Parameters:
Name Type Description
str string

원본 문자열

Returns:

확장자

Type
string