괴발개발/Javascript+JQuery

JS_정규표현식

moonday 2021. 6. 21. 23:42
- 정규 표현식 : 문자열의 패턴을 확인할 때 사용하는 식
      - 아이디, 비밀번호 등 
      - abc(기준이될 만한 아무 문자열) : 문자열 abc와 일치하는 부분이 있는지 확인
      - [abc] : a또는 b또는 c가 있는지 홛인
      - [a-c] : [abc]와 같음
      - [a] : 괄호 안의 알파벳 소문자가 있는지 확인
      - [A-Z] : 알파벳 대문자가 있는지 확인
      - [a-zA-Z] : 알파벳이 있는지 확인
      - [0-9] : 숫자가 있는지 확인
      - [ㄱ-힣] : 한글이 있는지 확인
      - [^abc] : abc가 없는지 확인
      - ^ : 시작
      - $ : 끝
      - {} : 횟수
      - {3} : 3번반복(한줄에 3개만)
      - {3,4} : 3~4반복
      - {3,} : 3개 이상
      - \d : 숫자를 확인
      - \D : 숫자를 제외하고 확인
      - \w : 알파벳, 숫자, _를 확인
      - \W : 알파벳, 숫자, _를 제외하고 확인
      - \s : 공백을 확인
      - \S : 공백을 제외하고 확인
      - * : 0번 이상
      - + : 1번 이상
      - ? : 0번 또는 1번
      - a|b : a또는 b
      - (abc) : abc를 하나의 그룹으로 묶어서 확인
      - . : 한 공간/한칸/한글자 (문자나 숫자하나가 올 수 있는 공간 ex: ... => 세글자 아무거나 가능)
    - 네이버에서 회원가입 시, 아이디는 5~20자의 영문 소문자, 숫자와 특수기호(_), (-)만 
      사용 가능합니다. 이를 확인하기 위한 정규 표현식을 작성하세요.
      - 한글자에 표현 가능한 문자
        - 영문 소문자, 숫자, _, -
        - [a-z0-9_-]
      - 5~20자
        - {5,20}   
        - ^[a-z0-9_-]{5,20}$

      -^abcd[a-z]+$ : abcd로 시작하는 5자이상의 소문자로 된 문자열
      -^abcd?$ : abc또는 abcd
      - ^(abcd)?$ : 빈 문자열이거나 abcd

 

    - 문자열이 폰번호인지 아닌지 확인하는 정규 표현식을 작성하세요.
    - 단, 번호는 010-xxxx-xxxx으로 되어 있다
      - /^010(-[0-9]{4}){2}$/
      - /^010(-\d{4}){2}$/

 

 

/* 정규 표현식 중요 메서드
      - 정규표현식.test(문자열) : 정규표현식과 일치하면 true, 일치하지 않으면 false 반환
      - 문자열.match(정규표현식) : 정규표현식과 일치하는 문자열을 배열로 만들어 변환
    */
    var phoneReg = /^010(-[0-9]{4}){2}$/;
    var num1='010-1234-5678';
    console.log(num1+" : " + phoneReg.test(num1));
    var num2='01012345678';
    console.log(num2+" : " + phoneReg.test(num2));
    var num3='010-abcd-abcd';
    console.log(num3+" : " + phoneReg.test(num3));
    var num4='010-1234-456';
    console.log(num4+" : " + phoneReg.test(num4));

 

/* 문자열이 url주소인지 아닌지 확인하는 정규표현식을 작성허세요
    - http://xxx.yy
    - http://xxx.xx.zz
    - https://xxx.yy
    - 단, x는 1글자 이상, y는 2글자 이상

    나 : ^https?\:\/\/([a-z]{3})\.([a-z]{2,})(\.{0,})([a-z]{0,})$
    쌤 : ^https?:\/\/\w+(\.[a-z]{2,})+$

    ^https? = ^(http|https)
    \w+ = \w{1,}
*/ 
    
    var urlRef = /^https?:\/\/\w+(\.[a-z]{2,})+$/;
    - 플래그 (위치는 정규표현식의 마지막 / 끝 다음)
     ex:  /^https?:\/\/\w+(\.[a-z]{2,})+$/i;
      - i: 대소문자 구별 없이 비교, test()메서드를 이용할 때 사용
      - g : 문자열 전체와 비교
      - m : 여러 행의 문자열을 비교

'괴발개발 > Javascript+JQuery' 카테고리의 다른 글

JS_요소선택  (0) 2021.06.21
JS_이벤트(event)  (0) 2021.06.21
JS_날짜(Date, Date형식 수정)  (0) 2021.06.21
JS_반복문(for in, for of, forEach)  (0) 2021.06.21
JS_객체  (0) 2021.06.18