..

Search

14) 문자열 검증

문자열 검증


문자열 검증

type 키워드의 값을 string으로 명시하면, 해당 JSON 데이터가 유니코드 문자열인지를 검사해 줍니다.

예제

{
    "type": "string"
}

 

위의 예제에서 "제이슨", "JSON", "123" 등의 문자열은 검증을 통과합니다.

하지만 1, 3.14와 같은 숫자나 true와 같은 불리언 등은 검증을 통과하지 못합니다.


문자열 길이 검증

minLength와 maxLength 키워드를 사용하여 해당 문자열의 길이가 유효한지를 검사할 수 있습니다.

이때 minLength와 maxLength 키워드의 값은 0을 포함한 양수만을 사용할 수 있습니다.

 

다음 예제는 해당 문자열의 길이가 1보다 크고 4보다 작은지를 검사하는 예제입니다.

예제

{
    "type": "string",
    "minLength": 1,
    "maxLength": 4
}


정규 표현식 검증

pattern 키워드를 사용하여 해당 문자열이 명시된 정규 표현식과 일치하는지를 검사할 수 있습니다.

 

정규 표현식(regular expression)은 문자열에서 특정한 규칙을 가지는 문자열의 집합을 찾아내기 위한 검색 패턴입니다.

이러한 검색 패턴은 모든 종류의 문자열 검색이나 교체 등의 작업에서 사용될 수 있습니다.

 

JSON에서는 자바스크립트에서 사용할 수 있는 정규 표현식 문법을 모두 사용할 수 있습니다.

JSON 정규 표현식에서 주로 사용되는 패턴 문자는 다음과 같습니다.

패턴 문자 설명
^a 단어의 맨 앞에 위치한 패턴만을 검색함. (ex : 'a'로 시작하는 단어의 'a'만을 검색함.)
a$ 단어의 맨 뒤에 위치한 패턴만을 검색함. (ex : 'a'로 끝나는 단어의 'a'만을 검색함.)
a(b)c 전체 패턴을 검색한 후에 괄호 안에 명시된 문자열을 저장함. (ex : 'abc'를 검색한 후에 b를 저장함.)
[abc] 대괄호([]) 안에 명시된 문자를 검색함. (ex : 'abc'를 검색함.)
[a-z] 대괄호([]) 안에 명시된 범위의 문자를 검색함. (ex : a부터 z까지의 문자를 검색함.)
[^abc] 대괄호([]) 안에 명시된 문자 이외의 문자를 검색함. (ex : 'abc'를 제외한 문자를 검색함.)
[^a-z] 대괄호([]) 안에 명시된 범위의 문자를 제외한 문자를 검색함. (ex : a부터 z까지의 문자를 제외한 문자를 검색함.)
n+ 앞의 문자가 1번 이상 나타날 경우를 검색함. {1, }과 같음.
n* 앞의 문자가 0번 이상 나타날 경우를 검색함. {0, }와 같음.
n? 앞의 문자가 0번 또는 1번만 나타날 경우를 검색함. {0,1}과 같음.
{n} 앞의 문자가 정확히 n번 나타날 경우를 검색함. n은 반드시 양의 정수이어야만 함.
{m,n} 앞의 문자가 최소 m번이상 최대 n번이하로 나타날 경우를 검색함. m과 n은 반드시 양의 정수이어야만 함.

 

정규 표현식에 대한 더 자세한 사항은 자바스크립트 정규 표현식 수업에서 확인할 수 있습니다.

 

자바스크립트 정규 표현식 수업 확인 =>

 

다음 예제는 정규 표현식을 이용하여 해당 데이터가 1개 이상의 영문 소문자를 가지는 문자열인지를 검사합니다.

예제

{
    "type": "string",
    "pattern": "[a-z]+"
}


연습문제