본문 바로가기
IT/javascript

자바스크립트 정규표현식(Regular Expression)

by 뉴코딩맨 2023. 8. 26.
자바스크립트는 현대 웹 개발에서 핵심적인 역할을 담당하는 언어로, 다양한 기능을 제공합니다. 이 중에서도 정규표현식은 문자열 처리에 놀라운 유연성과 효율성을 제공하여 웹 개발자들에게 큰 도움이 되고 있습니다.
 
 

정규표현식의 기본 개념

 

정규표현식이란?

정규표현식은 문자열에서 특정한 패턴을 찾거나 검색하고, 그에 따라 문자열을 처리하거나 변형하는 패턴 매칭 도구입니다. 이를 이용하면 텍스트 처리 작업을 간단하고 효과적으로 수행할 수 있습니다.
 

패턴 구성 요소

  • 문자 클래스: [ ] 안에 들어가는 문자들의 집합을 나타냅니다. 예를 들어, [aeiou]는 모음을 의미합니다.
  • 메타 문자: 특별한 의미를 가지는 문자로, \로 시작합니다. 예를 들어, \d는 숫자를 의미합니다.
  • 수량자: 문자나 그룹의 발생 횟수를 지정합니다. *, +, ?, {n}, {n,}, {n,m} 등이 있습니다.
  • 앵커: 문자열의 시작(^)이나 끝($)을 나타내며, 특정 위치에서의 패턴 매칭을 제어합니다.

 

자바스크립트에서의 정규표현식 사용

 

 

정규표현식 생성

  • 리터럴 표기법: /패턴/ 형식으로 정규표현식을 생성합니다.
  • 생성자 함수: new RegExp('패턴') 형식으로 정규표현식을 생성합니다.

메서드 활용

  • test(): 문자열이 패턴과 일치하는지 여부를 반환합니다.
  • match(): 문자열 내에서 패턴과 일치하는 부분을 찾아 배열로 반환합니다.
  • replace(): 문자열 내에서 패턴과 일치하는 부분을 다른 문자열로 대체합니다.

 

실제 예제와 활용

 

이메일 주소 유효성 검사

 

const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
const isValidEmail = emailPattern.test("example@email.com");

 

문자열에서 숫자 추출

 

const text = "Hello123World456";
const numbers = text.match(/\d+/g); // ["123", "456"]

 

 

Cross-site Scripting (XSS)란?

크로스 사이트 스크립팅(XSS)은 웹 애플리케이션에서 발생하는 보안 취약점 중 하나로, 공격자가 악성 스크립트를 삽입하여 사용자의 브라우저에서 실행되게 하는 공격입니다. XSS의 개념, 공격

newcodingman.tistory.com

 

댓글