본문 바로가기
개발공부_Blog/JavaScript

정규표현식

by 독서개발자 2022. 1. 18.

 

정규표현식

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions

 

정규 표현식 - JavaScript | MDN

정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다. 자바스크립트에서, 정규 표현식 또한 객체입니다.  이 패턴들은 RegExp의 exec 메소드와 test 메소드  ,

developer.mozilla.org

 

정규표현식은 

문자열에 특정 문자조합과 대응시키기 위해 사용되는 패턴이다

특정한 패턴을 가지고 어떤 특정 문자열을 비교하여 true/ false로 결과값을 받는다

 

    const expNameText = /[가-힣]+$/;
    const expHpText = /^\d{3}-\d{3,4}-\d{4}$/;
    const expEmailText = /^[A-Za-z0-9\.\-]+@[A-Za-z0-9\.\-]+\.[A-Za-z0-9
    
    
    if(!expNameText.test(name.value)){
        alert('이름 형식을 확인하세요. 한글만 입력 가능합니다');
    } 
    // text() => 대응되는 문자열이 있는지 확인하는 method

 

 

 

 

    const expNameText = /[가-힣]+$/;

1_   /      / .:  슬러시 사이에 패턴을 넣게 되어 있다

2_     [ ]     :  한꺼번에 패턴을 입힐 때 사용하는 문자, [ ]대괄호안의 문자는 모두 적용하라는 뜻

3_   가-힣   :  ' - '  어디서 부터 어디까지의 범위를 뜻한다

                  한글은 유니코드(조합형)이기 때문에 굉장히 많은 글자가 있다

                  한글의 첫글자 : 가 / 마지막 글자 : 힣

4_      +     : 몇 글자가 되든 상관없다

5_      $     .: 문자열을 끝낸다.

 

 

 

    const expHpText = /^\d{3}-\d{3,4}-\d{4}$/;
핸드폰 번호는 010-1111-1111 / 010-111-1111
' - '이 들어가야 하고 2번째 글자는 3개 또는 4개 여야 한다

1_  ^                     : 무조건
2_  \d(역슬래시d){3} : 숫자(decimal의 약자) 3글자로 시작돼야 한다
3_  ' - '                  .: 입력해야 하는 문자 , [ - ] 대괄호 안에 들어있는 ' - '은 범위 지정
4_ \d{3,4}               : 숫자로 시작하고 3글자 또는 4글자여야 한다
5_ \d{4}$               .: 4글자 숫자로 끝나야 한다

 

 

    const expEmailText = /^[A-Za-z0-9\.\-]+@[A-Za-z0-9\.\-]+\.[A-Za-z0-9\.\-]+$/;
    // 앞에 있는글자는 알파벳 - . 가능  / @ 포함 / 뒤에 알파벳 - . 가능 / . 포함 /
1_  ^[ ]+             : ' + ' 몇 글자가 돼도 상관은 없는데, ' ^ ' 무조건 [  ] 괄호 안의 내용대로 시작해야 한다
2_  A-Za-z0-9\.\- : 대문자A-Z까지, 소문자 a-z까지, \.\- (특수문자 앞 역슬래시) : 대괄호 안의 내용
3_    @              . :  [  ] 대괄호 밖에 쓰여 있음 => '@' 문자  꼭 포함   
4_   \. [A-Z...]+$   .: [  ] 대괄호 밖에 쓰여 있는 ' . ' 정규식에서 사용하는 문자이기 때문에 \(역슬래시)로
                          ' . ' 을 입력해야하는 필수 문자로 사용하겠다고 정의해줌
5_  [A-Z...]+$         : ' . ' 다음에는 A-Z로 시작하는 문자가 오면 되고 + 길이는 상관없고 $ 끝낸다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글