연속된 전화 번호에 [-] 자동 추가 처리 함수 > 소스코드

본문 바로가기
사이트 내 전체검색


회원로그인

소스코드

php | 연속된 전화 번호에 [-] 자동 추가 처리 함수

페이지 정보

작성자 100K5 작성일12-04-05 15:31 조회63,116회 댓글0건

본문

0101234124 와 같은 형식의 전화 번호를 010-1234-1234 형태로 바꾼다.

function addHyphen($num){
  return preg_replace("/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/", "$1-$2-$3", $num);
}

소스

addHyphen($phone_num);

설명
정규식에서 괄호()를 사용하면 순서대로 $1, $2, $3, ... 와 같이 불러서 사용 할 수 있다.

위의 함수를 보면 괄호가 3개 있음을 알 수 있다.

맨끝 괄호
([0-9]{4})  -> 바로 0-9까지의 숫가를 4자리 가져온다.

중간 괄호
([0-9]+)    -> 0-9 까지의 숫자 나머지를 전부 가져온다.(즉 전화 번호의 맨 앞 과 뒤 자리를 식별 하고 나머지를 중간으로 판단한다는 내용)

첫 괄호
(^02.{0}|^01.{1}|[0-9]{3})  ->
^02.{0}   : ^는 정규식에서 시작을 의미하며 "02"로 시작 하는 경우를 말한다.
               "."은 문자 하나를 나타내는데 바로 뒤 괄호가 {0}이니 결과로는 "02"만 추출 한다는 내용

^01.{1}   : 위와 마찬가지로 "01"로 시작하는 경우이며 .{1} 이므로 이후 1자리만 추출 한다는 내요
               즉 01X 로 시작 하는 휴대폰을 의미한다.

[0-9]{3}  : 처음 설명한 것과 동일함

첫 괄호 안에 위의 3가지 경우를 "|" (파이프)로 연결 하고 있음으로 셋 중의 하나를 선택 한다는 의미

이렇게 하여 세 가지 그룹의 숫자가 나오고 이것을 "-" (하이픈)으로 연결 하라는 것이 함수의 정규식 의미이다.









댓글목록

등록된 댓글이 없습니다.


사이트소개 개인정보취급방침 서비스이용약관 Copyright © kkujunhee.net All rights reserved.
상단으로

개인정보관리책임자 : 관리자

모바일 버전으로 보기