본문 바로가기
JavaScript

[Javascript]정규표현식을 사용한 유효성검사

by junvely 2022. 11. 2.

자주 사용하는 정규 표현식 모음


1. 기본 

/^[ ]$/

 

3. 숫자만

/^[0-9]$/

 

4. 영문만(대소문자)

/^[a-zA-Z]$/

 

4. 소문자만

/^[a-z]$/

 

5. 영문(대소문자) + 숫자

/^[a-zA-Z0-9]$/

 

6. 영문(대소문자) + 숫자 + 길이 1~10자리 사이의 문자열

/^[a-zA-Z0-9]{1,10}$/

 >>> 영문 포함 + 숫자 포함 + 길이 1~10자리 사이 문자열(반드시 모두 포함)

  const regexId = /^[a-z0-9](?=.*[a-z])(?=.*\d)[a-z0-9]{5,11}$/;

 

8. 소문자, 숫자, 특수문자 "-","_" 로만 구성된 길이 1~10자리 사이의 문자열

/^[a-z0-9_-]{1,10}$/

 

9. 모든 특수문자 체크

/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/g

 

10. 대소문자 + 숫자 + 특수문자가 *각각 1개 이상 + 1~10자리 사이 문자열(패스워드 체크시 활용)

/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{1,10}$/

 >>> 영문 포함 + 숫자 포함 + 특수문자 + 길이 1~10자리 사이 문자열(반드시 모두 포함)

  const regexPw =
    /^[a-z0-9#?!@$%^&*-](?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-])[a-z0-9#?!@$%^&*-]{1,10}$/;

 

11. 휴대폰 번호

/^\d{3}-\d{3,4}-\d{4}$/;

 

12. 이메일주소 체크

/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/

 

13. 주민등록번호 체크

/^[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[.]{1}[A-Za-z]{1,5}$/
  const regexEmail = /^[A-Za-z0-9_]+[A-Za-z0-9]*[@]{1}[A-Za-z0-9]+[A-Za-z0-9]*[.]{1}[A-Za-z]{1,3}$/;

 

14. 숫자로 구성된 4자리-4자리-4자리-4자리 유형 체크 (ex. 신용카드 번호)

/^[0-9]{4}[-\s\.]?[0-9]{4}[-\s\.]?[0-9]{4}[-\s\.]?[0-9]{4}$/

 

15. 9. 3자리-3~4자리-4자리(사이에 문자 아무거나 가능)

/^\d[3]-\d[3,4]-\d[4]$/

 

 

상용 정규 표현식


특수문자 체크 정규식
const regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/g;

모든 공백 체크 정규식
const regExp = /\s/g;

숫자만 체크 정규식
const regExp = /[0-9]/g;

이메일 체크 정규식
const regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;

핸드폰번호 정규식
const regExp = /^\d{3}-\d{3,4}-\d{4}$/;

일반 전화번호 정규식
const regExp = /^\d{2,3}-\d{3,4}-\d{4}$/;

아이디나 비밀번호 정규식
const regExp = /^[a-z0-9_]{4,20}$/;

휴대폰번호 체크 정규식
const regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;

 

정규 표현식 메서드


1. test 메서드

true와 false를 반환한다.

정규식.test(문자열)

 

2. match 메서드

인수로 정규식을 받으며, 일치하는 문자열의 배열(Array) 데이터를 반환한다.

문자열.match(정규식)

 

3. replace 메서드

첫 번째 인수로는 정규표현식, 두 번째 인수로는 대체하려는 문자 데이터를 넣는다. 이를 통해 일치하는 문자열을 새로운 문자열로 대체하고, 대체된 결과를 문자열(String)로 반환한다.

문자열.replace(정규식, 대체문자)

 

 

 

<참고>

-[JS] 정규표현식(특수문자, 숫자 등):https://velog.io/@jangws/JS-%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%88%AB%EC%9E%90-%EB%93%B1-6766k8d6

-[javascript] 자주 사용하는 정규 표현식 (Regular Expression) 정리 : https://hitomis.tistory.com/68