본문 바로가기
Today I learned

2020 11 26

by soheemon 2020. 11. 26.

정규식 5제

 

1. 쿠키 값 가져오기

=(.*?)(;|$)

 

= : 해당 글자와 일치하면 시작

(.*?) : 1차 캡처그룹.

.*? : 모든 문자와 일치(라인피드 제외)

(;|$) : ()는 그룹이지만, |랑 함께 쓰이면 ;이거나 혹은 $이거나 이다.

function getCookie(key){
  var value;
  return ( value = document.cookie.match(a + "=(.*?)(;|$)")) ? value[1] : null
}

2. 이메일 검증하기

/^((?!\.)[\w-_.]*[^.])(@\w+)(\.\w+(\.\w+)?[^.\W])$/

^: ~로 시작하는지.. 매번 얘가 있고없고가 헷갈렸었다... 

이번에 미묘하게 알게댐.* testmail@mail.com -> 앞에 space가 있는경우는 배제한다 (false)*testm ail@mail.com -> 마찬가지로 앞에 space가 있으므로 배제한다 (false)

 

$: 마찬가지로, 마지막이 .로 끝나는 덩어리이거나, space면 배제한다 (false) 무조건 엔터여야한다(라인피드로 끝나야 함!)((?!\.)[\w-_.]*[^.]) : 1차 캡처그룹

 

(?! ...) : 주어진 패턴이 일치하지 않도록 한다. 문자를 소비하지 않는다. 따라서 이메일id 앞에 .이 오지 않아야 한다.예) /foo(?!bar)/ -> foobar는 일치하지 않는다. foobaz는 일치한다.

 

function isValidEmail(mail){
  var regex = /^((?!\.)[\w-_.]*[^.])(@\w+)(\.\w+(\.\w+)?[^.\W])$/
  return regex.test(mail)
}

3. IP 규칙 검증하기

4. http 규칙 검증하기

5. 핸드폰번호 / 유선번호 규칙 검증하기

 

'Today I learned' 카테고리의 다른 글

2020 11 29  (0) 2020.11.29
2020 11 27  (0) 2020.11.27
2020 11 22  (0) 2020.11.22
2020 11 19  (0) 2020.11.19
2020 11 11  (0) 2020.11.11

댓글