본문 바로가기

Javascript

JavaScript - validation 정리

휴대폰 유효성 검사

function isCellPhone(p) {

  p = p.split('-').join('');

  var regPhone = /^((01[1|6|7|8|9])[1-9]+[0-9]{6,7})|(010[1-9][0-9]{7})$/;

  return regPhone.test(p);

}

 - 한국에 한함

 - 글로벌 서비스 유효성 검사는 따로 해야 함 

 

비밀번호 유효성 검사

 //비밀번호 유효성 체크
  const chkPW = (password) => {
    const reg = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/;
    const regHigh = /^(?=.*?[A-Z])/;
    const regRow = /^(?=.*?[a-z])/;
    const regNumber = /^(?=.*?[0-9])/;
    const regCharacters = /^(?=.*?[~!@#$%^&*()_+|<>?:{}])/;
    const pw = password;

    if (false === regHigh.test(pw)) {
      console.log('대문자');
      return false;
    } else if (false === regRow.test(pw)) {
      console.log('소문자');
      return false;
    } else if (false === regNumber.test(pw)) {
      console.log('숫자');
      return false;
    } else if (false === regCharacters.test(pw)) {
      console.log('특수문자');
      return false;
    } else if (password.length < 8) {
      return false;
    } else {
      return true;
    }
  };

// 대문자 체크
  const chkPWHigh = (password) => {
    const regHigh = /^(?=.*?[A-Z])/;
    const pw = password;

    return regHigh.test(pw);
  };

// 소문자 체크
  const chkPWRow = (password) => {
    const regRow = /^(?=.*?[a-z])/;
    const pw = password;

    return regRow.test(pw);
  };

// 숫자 체크
  const chkPWNumber = (password) => {
    const regNumber = /^(?=.*?[0-9])/;
    const pw = password;

    return regNumber.test(pw);
  };

// 특수문자 체크 
  const chkPWCharacter = (password) => {
    const regCharacters = /^(?=.*?[~!@#$%^&*()_+|<>?:{}])/;
    const pw = password;
    return regCharacters.test(pw);
  };

 react 사용 시 해당 input의 값 변화시 실시간 체크 가능

 

 

 

이메일 유효성 검사

  //이메일 유효성 체크
  const CheckEmail = (str) => {
    const reg_email = /^([0-9a-zA-Z_\.-]+)@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}$/;
    if (!reg_email.test(str)) {
      return false;
    } else {
      return true;
    }
  };

 

새로운 유효성 체크 로직 사용시 추가 업데이트