항해/항해99

TIL13 정규식

youngble 2021. 12. 2. 02:46

심화과정으로 배워야할 내용과 구현해야할 기능들이 많아서 몇일동안 블로그 관리를 못했다.

기존의 배운 CRUD를 이제 많은 컴포넌트 단위로 잘르고 페이지와 최소화 컴포넌트를 이어서 만드는등 아직 많이 해보지않았어서 이해하는데 애를 먹었다. 그리고 기존의 방식으로 firebase나 리덕스에 연결하는게 아니라 redux-actions 로 좀더 간결하게 쓸수있도록 해주는등 아직도 생소한게 많아서 이건 WIL 일때 정리해도록하겠다.

 

오늘은 회원가입시 이메일형식으로 아이디를 입력받아야하기 때문에 정규식을 써서 test를 하는 방식을 배웠다.

정규식은 // 안에 내용을 쓰는데 처음부터 해석하면 ^ 처음 맨앞에 나올 문자를 정해준다. 숫자와 영대소문자가 가능하다. 그다음엔 () 이루워져있는데 뒤에 * 사용하기위함이다. 여기서 * 특수문자로 쓰는게 아니라 어떠한 특수한 기능이 있기때문 분리하려고 하는것이다. 여기서 * 앞에 문자가 n 중복되어 올수있다는 기능이다. 따라서 두번째부터는 -_. 숫자, 영대소문자가 n개만큼 중복되서 올수있다.

그리고 []이나 ()쓰지않고 @ 쓴건 단일 문자이면서 특수문자로 저걸 꼭써야하기때문이다. @그뒤로 오는문자는 숫자와 대소문자가 가능하고 특수문자 -_. 포함하여 숫자 대소문자를 n 중복되서 쓸수있다. 그리고 . 와야하고 뒤로는 대소문자 형태로 n개중복돼서 올수있다.

이렇게 만든 _reg 변수를  emailCheck 화살표함수에 넣고 return 부분에 매개변수로 받은 email 입력값을 .test()를 써서 확인을 한다.

만약 조건에 만족하면 true 를 반환해주고 만족하지 않는다면 false 를 반환해준다.