JavaScript 정규식 모음 (아이디, 비밀번호, 이메일, URL 검증)

웹 개발을 하다 보면 입력값 검증은 필수입니다.
특히 회원가입, 로그인, 폼 입력 등에서 정규식(Regex)을 활용하면 간단하게 유효성 체크를 처리할 수 있습니다.

이번 글에서는 기본 사용법실무에서 바로 사용할 수 있는 정규식 패턴을 정리했습니다.


기본 사용법

// reg 값을 원하는 검증 정규식으로 넣어서 사용
const reg = /^[A-Za-z0-9]+$/;

// 검증할 값
const value = "user123";

if (reg.test(value)) {
console.log("유효한 값입니다.");
} else {
console.log("형식이 올바르지 않습니다.");
}


1. 아이디 검증 (영문 + 숫자)

/^[A-Za-z0-9]+$/
  • 영문 + 숫자만 허용
  • 공백 및 특수문자 불가

2. 비밀번호 검증

/^(?=.*\d)(?=.*[~`!@#$%^&*()\-+=])(?=.*[A-Za-z].*[A-Za-z]).{8,50}$/

조건:

  • 숫자 1개 이상
  • 특수문자 1개 이상
  • 영문 2개 이상
  • 8~50자

3. 이메일 형식 검증

/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/
  • 대부분의 이메일 형식 대응
  • 실무에서 가장 많이 사용하는 패턴

4. 같은 문자 반복 제한

/(.)\1{3}/
  • 같은 문자 4번 이상 반복 체크
  • 비밀번호 보안 강화에 사용

5. 전화번호 검증

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

예: 010-1234-5678, 010-123-4567


    6. URL 검증

    /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/
    • http / https / ftp 지원
    • 기본적인 URL 형식 체크

    7. 도메인 검증

    /^((https?:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,}(\:[0-9]+)?(\/\S*)?$/
    • http/https 포함 여부 선택 가능
    • 포트 및 경로 포함 가능

    8. 숫자만 입력

    /^[0-9]+$/

    9. 한글만 입력

    /^[가-힣]+$/

    마무리

    정규식은 강력하지만, 과하게 복잡하게 만들면 유지보수가 어려워집니다.
    실무에서는 “완벽한 정규식”보다 “적당히 안전한 정규식”이 더 중요합니다.

    필요한 만큼만 검증하고, 나머지는 서버에서 한 번 더 체크하는 구조를 추천합니다.

    답글 남기기