JavaScript_Study [ RegExp (정규표현식) ]

이준석·2023년 4월 10일
0

JavaScript_Study

목록 보기
19/35
post-thumbnail

2021-09-30 노션페이지,
2021-11-15 노션페이지
기록된 노션을 다시 정리

정규표현식(Regular Expression)

  • 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용한다.
  • 정규표현식은 리터럴 표기법으로 생성할 수 있다. 정규 표현식 리터럴은 아래와 같이 표현한다.

어디에 쓰는지 알았으니 어떻게 쓰는지

  • 정규표현식을 사용할 수 있는 메소드들
const targetStr = 'This is a pen.';
const regexr = /is/ig;

// RegExp 객체의 메소드
console.log(regexr.exec(targetStr)); // [ 'is', index: 2, input: 'This is a pen.' ]
console.log(regexr.test(targetStr)); // true

// String 객체의 메소드
console.log(targetStr.match(regexr)); // [ 'is', 'is' ]
console.log(targetStr.replace(regexr, 'IS')); // ThIS IS a pen.
// String.prototype.search는 검색된 문자열의 첫번째 인덱스를 반환한다.
console.log(targetStr.search(regexr)); // 2 ← index
console.log(targetStr.split(regexr));  // [ 'Th', ' ', ' a pen.' ]

플래그

  • i : 대소문자를 구별하지 않고 검색한다.
  • g : 문자열 내의 모든 패턴을 검색한다.
  • m : 문자열의 행이 바뀌어도 계속 검색한다.

패턴

  • 패턴에는 검색하고 싶은 문자열을 지정한다. (찾고 싶거나 기준)
  • 이때 문자열의 따옴표는 생략한다.
  • 표현방법 다양함

자주 사용하는 정규표현식

  1. 특정 단어로 시작하는지 검사한다.
    /^http/;
  2. 특정 단어로 끝나는지 검사한다.
    /http$/;
  3. 숫자인지 검사한다.
    /^\d+$/
  4. 하나 이상의 공백으로 시작하는지 검사한다.
    /^[\s]+/;
  5. 아이디로 사용 가능한지 검사한다. (영문자, 숫자만 허용, 4~10자리)
    const regexr = /^[A-Za-z0-9]{4,10}$/;
  6. 메일 주소 형식에 맞는지 검사한다.
    /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/;
  • 등등..
    주로 이메일 확인, 아이디 확인, 비밀번호 등 로그인 기능에 유용하게 쓰임

참조: poiemaweb.com

0개의 댓글