본문 바로가기

Web/JavaScript

[JavaScript] 자주쓰는 정규 표현식

 

이메일 정규표현식

  • var regExp = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;

휴대폰 정규 표현식

  • var regExp = /^\d{3}-\d{3,4}-\d{4}$/;

일반 전화번호 정규식

  • var regExp = /^\d{2,3}-\d{3,4}-\d{4}$/;

비밀번호 정규표현식

숫자와 문자 포함 형태의 6~12자리 이내의 암호 정규식 (1 가지 조합)

  • var regExp = /^[A-Za-z0-9]{6,12}$/;

영문, 숫자, 특수문자 중 2가지 이상 조합하여 10자리 이내의 암호 정규식 ( 2 가지 조합)

  • var regExp = /^(?!((?:[A-Za-z]+)|(?:[~!@#$%^&*()_+=]+)|(?:[0-9]+))$)[A-Za-z\d~!@#$%^&*()_+=]{10,}$/;

특수문자 / 문자 / 숫자 포함 형태의 8~15자리 이내의 암호 정규식 ( 3 가지 조합)

  • var regExp = /^.*(?=^.{8,15}$)(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&+=]).*$/;

 

정규식 테스트 사이트 : https://regexr.com/

 

사용예제

verifyEmail = function() {
  // 이메일 검증 스크립트 작성
  var emailVal = $("#email").val();
  
  // 검증에 사용할 정규식 변수 regExp에 저장
  var regExp = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
  
  if (emailVal.match(regExp) == null) {
    //정규식에 맞지않으면 return null
    alert('Error');
  }
  else {
    alert('Good!');
  }
};