테스트 사이트 - 개발 중인 베타 버전입니다

Regular Expressions 정규표현식 소모임 신청합니다.

· 4년 전 · 1685 · 22

세상은 넓고 고수는 많습니다.

 

인터넷은 항상 열려있고 우리는 모든 문제를 검색을 통하여 해결하고 있습니다.

 

그러나 검색으로 해결할 수 없는 문제들이 있습니다.

 

무슨 얘기냐구요?

 

오류 메세지를 정확하게 뱉어내지 않는 오류에 대해서 우리들은 해결을 하지 못하거나, 해결하는데 많은 시간을 빼앗길 수 있습니다.

 

대비하지 않는다면 속수무책으로 당할 수 밖에 없습니다.

 

정규표현식이 아마 이런 일들에 포함되지 않을까 생각됩니다.

 

자~ 이런 상황이 생겼다고 가정하겠습니다.

 

휴대폰번호를 검증하는 코드를 작성해라.

 

010 으로 시작하고 중간번호는 3자리 또는 4자리가 들어갈 수 있고 끝번호는 4자리이다.

중간에 - 와 같은 특수문자가 들어갈 수도 안들어 갈 수도 있다.

 

그럼 대충 이런 번호가 나올 수 있겠죠.

 

010-123-4567

010-1234-5678

0101234567

01012345678

 

#^010\-?\d{3,4}\-\d{4}$#


그리고 위와 같은 정규표현식으로 대충(?) 검증 할 수 있겠는데요.

 

그럼 이렇게 작성하면 끝이냐? 

 

여기에 요구사항이 더해질 수 있겠죠?

 

국번이 011, 016, 017, 018, 019 가 추가 될 수도 있고,

 

구분자 - 의 옆에 공백이 있을수 있고

 

휴대폰 번호의 앞뒤에 공백 및 다른 특수문자들이 있을 수 있고, 

가령 HTML 사이에 있다면 <p>010-1234-5678</p> 이런 코드가 있을 수 있구요.

 

휴대폰 번호만 들어오면 좋겠지만 지역번호도 검증했으면 한다 그러면~

 

02, 032.... 이런 국번도 들어 올수도 있고...

 

물론 아래와 같은 코드로 결과만 제대로 나온다면 틀린건 아닙니다. ㅎ

 

if ($bun1 == "02") {
  ...
} else $bun2 == "032") {

  ...
} else {

  ...
}

# 이 뒤로도 몇십줄 

...

 

위와 같은 코드와 아래와 같은 코드 중 어떤 코드로 개발하길 원하십니까?

 

#^(02|032|010)\-?\d{3,4}\-\d{4}$#

 

 

정규표현식 같이 배워가시죠?

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 22개

저도 추천추가요~ ^^
4년 전
20 채웠습니다.

게시글 목록

번호 제목
2067
2062
2057
2040
2035
2034
2033
2026
2018
2017
2007
2001
1967
1944
1899
1896
1895
1888
1883
1873
1857
1847
1846
1845
1829
1798
1792
1772
1769
1767