노드심화 5-3

·2022년 12월 29일
0

study

목록 보기
43/81
post-thumbnail

prac_jest파일

추가 요구사항

  • 입력한 이메일 주소중, **로컬 파트(골뱅이 기준 앞부분)에는 영문 대소문자숫자, 특수문자덧셈기호(+), 하이픈(-), 언더바(_)** 3개 외에 다른 값이 존재하면 이메일 형식이 아니다.
  • 입력한 이메일 주소중, **도메인(골뱅이 기준 뒷부분)에는 영문 대소문자숫자, 점(.), 하이픈(-)** 외에 다른 값이 존재하면 이메일 형식이 아니다.

테스트 코드 작성

//validation.js
test("입력한 이메일 주소의 로컬파트에 영문 대소문자와 숫자, 특수문자는 덧셈기호(+), 하이픈(-), 언더바(_) 3개 외에 다른 값이 존재하면 이메일 형식이 아니다.", () => {
  expect(isEmail("sparta00@naver.com")).toEqual(true);
  expect(isEmail("sparta-00@naver.com")).toEqual(true);
  expect(isEmail("spar_ta-00+@-na--ver-.c-o-m")).toEqual(true);
  expect(isEmail("sp,a.rt/a00@naver.com")).toEqual(false);
  expect(isEmail(";sp:a|rt[a00@naver.com")).toEqual(false);
});

test("입력한 이메일 주소 도메인에 영문 대소문자와 숫자, 점(.), 하이픈(-) 외에 다른 값이 존재하면 이메일 형식이 아니다.", () => {
  expect(isEmail("sparta00@naver.com")).toEqual(true);
  expect(isEmail("sparta00@na123ver.com")).toEqual(true);
  expect(isEmail("sparta-00-@-na--ver-.c-o-m")).toEqual(true);
  expect(isEmail("-sparta00@na;ve+r.co,m")).toEqual(false);
  expect(isEmail("sparta00@nave#.^c&o/m")).toEqual(false);
});

isEmail 함수 다시 디버깅

//validation.spec.js
//localPart, domain 조건
    const localPartCheck = /^[a-zA-Z0-9_+-]+$/;
    const domainCheck = /^[a-zA-Z0-9.-]+$/;
    if (!localPartCheck.test(localPart) || !domainCheck.test(domain)) {
      return false;
    }
profile
개발자 꿈나무

0개의 댓글