정규표현식

정규식 표현: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/

  • /^ 와 $/: 이 패턴의 시작과 끝을 나타냅니다. 즉, 전체 문자열이 이 패턴과 정확하게 일치해야 합니다.

  • [a-zA-Z0-9.%+-]+: 이메일 주소의 로컬 부분을 나타냅니다.

    0.[ ] 괄호는 한단어별로 체크한다는 의미. 괄호가 없으면 문장으로 체크함
    1.알파벳 대소문자
    2.숫자
    3.특수문자(.%+-) 
    중 하나 이상이 1회 이상 반복되어야한다
    
    // 예제
    %%%%%% -> NG 특수문자가 1회 뿐이기때문에 안됨
    %%%%0 -> OK 특수문자1회와 숫자1회 포함해서 1회이상이기때문에 OK
  • @: 이메일 주소에서 로컬 부분과 도메인 부분을 구분하는 기호입니다.

  • [a-zA-Z0-9.-]+: 이메일 주소의 도메인 부분을 나타냅니다. 알파벳 대소문자, 숫자, 그리고 특수문자(.)과 (-) 중 하나 이상이 1회 이상 반복될 수 있습니다.

  • .: 도메인의 점(.)은 정규식에서 특수 문자로 사용되기 때문에, 이스케이프 문자()를 사용하여 실제 점 문자를 나타냅니다.

  • [a-zA-Z]{2,}: 도메인의 최상위 도메인(TLD)을 나타냅니다. 알파벳 대소문자 중 2자 이상이어야 합니다.

해석: 위의 정규식은 "example@google.com"과 같은 형식의 이메일 주소를 나타냅니다. 이메일 주소는 로컬 부분, @ 기호, 도메인 부분으로 구성되며, 로컬 부분과 도메인 부분은 각각 특정 문자 집합을 따라야 합니다. 도메인 부분은 최소 2자 이상의 알파벳으로 끝나야 합니다. 이 정규식은 주어진 문자열이 이메일 주소의 형식을 따르는지 검증할 수 있습니다.


^ 시작

$ 종료

+ 하나이상

i 대소문자 구분안함

g 일치하는 모든것 반환

[a,b,c] a나 b나 c나 각 단어별로 검색 (OR검색)

[^abC] // a,b,C 해당 각 문자열 제외 (NOT)

() 캡쳐or그룹화라고 하며 (단어)로 사용되며 그룹화된 하나의 단어처럼 사용됨 // 'kokokoko'.match(/(ko)+/); // "kokokoko", "ko"

^문자열 // 특정 문자열로 시작

문자열$ // 특정 문자열로 종료

\d 숫자

\s 공백

*여러개 apple*일 경우 appleee, appleae 볼드부분이 일치

/ab+c/ a하나 b는 하나혹은 하나이상 c // abbc 참 ac거짓

/^\s*문자열$/ 공백 모두 제거후 완전일치

^[0-9]*$ 숫자0~9로 범위지정후 *를 넣어서 글자수 제한없음. 모든 숫자 검색

^[a-zA-Z]*$ 모든 영문자만

^[a-zA-Z0-9]+@[a-zA-Z0-9]+$ 영문숫자하나이상 @ 영문숫자하나이상


참조

https://highcode.tistory.com/6

https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-%EC%A0%95%EA%B7%9C%EC%8B%9D-RegExp-%EB%88%84%EA%B5%AC%EB%82%98-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC

May 14, 2023 Views 104