JavaScript includes & 정규식 (regular expression)

Jun Lee·2023년 7월 8일

코딩애플 JavaScript

목록 보기
11/20

1. 문자 검사하는 가장 쉬운 방법

  • includes() 사용하기

사용법: '문자'.includes('찾을단어');

예시)

'abc'.includes('a'); // it returns true;
'abc'.includes('d'); // it returns false;
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // it returns true
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Start the search at position 3:
fruits.includes("Banana", 3);
  • 하지만 한글이 들어있냐 / 영어가 들어있냐 / A로 끝나냐 / 마침표 다음에 영어가 있느냐 등은 includes()로 검사하기는 어려움.

2. 정규표현식 (regular expression)

  • 정규식은 문자를 검사하고 싶을 때 사용하는 식.
  • JavaScript로 정규식을 표현하는 기본적인 방식:

/정규식/.test(정규식으로 검사해볼문자)
/abc/.test('abcdef')


3. 정규식 문법

/a/.test('abcde')  //true  
/[a-d]/.test('aeft') // true
/[-]/.test('다라마바') // true
  • [ ]기호를 이용해서 문자 범위를 지정 할 수 있음
  • [a-z]는 a부터 z까지 아무 문자 하나를 의미 함

ex) /[a-d]/.test('aefg')
-> a부터 d까지의 아무 문자 하나가 저기 있냐라고 검사


/[a-zA-z]/.test('반가워요'); // false
/[a-zA-z]/.test('반가워요a'); // true
/[-ㅎ가-힣ㅏ-]/.test('반가워요'); // true
  • [a-zA-Z] 이건 아무 알파벳 하나라는 뜻
  • [ㄱ-ㅎ가-힣ㅏ-ㅣ] 이건 아무 한글 하나라는 뜻

/\S/.test('abcde') // true
  • \S는 특수문자 포함 아무문자 1개라는 뜻

/^a/.test('abcde') // true
/e$/.test('abcde') // true
  • ^a 라고 적으면 a로 시작하는지 검사할 수 있음
  • e$ 라고 적으면 e로 끝나는지 검사할 수 있음

/(e|f)/.test('abcde') // true
  • | 이건 or 기호이므로 위 코드는 e 또는 f중 아무거나 한 문자가 있나 검사

/a+/
  • +기호를 뒤에 붙이면 뒤에오는 글자들도 a와 일치하면 반복해서 쭉 찾아달라는 뜻
  • /a/는 a 한개를 찾으라는 뜻
  • /a+/는 aaaa이런걸 찾고 싶을때 씀

/\S+t/
  • 모든 문자 여러개 다음에 t라는 글자가 있냐를 검사해주는 정규식
    예시) aaaat, bbbt

4. 간단히 작성해보는 이메일 정규식

  • 이메일은 어쩌구@어쩌구.어쩌구 이렇게 되어야 함
  • 즉 모든 문자사이에 @그리고 .이라는 특수문자가 와야함
    /\S+@\S+\.\S+/
  • 마침표는 정규식에서 특수한 문법이기 때문에 마침표 그대로 쓰는게 아니라 마침표를 찾아달라는 의미로 쓰려면 \를 앞에 붙여야 함.

0개의 댓글