전화번호 변환 정규식 > PHP

STUDY ROOM

PHP

전화번호 변환 정규식

페이지 정보

작성자 JMStudy 작성일15-11-18 11:27 조회9,632회 댓글0건

본문

01012345678 형태의 전화번호를 010-1234-5678 형태로 변환


$phone_num​ = "01012345678";
preg_replace("/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/", "$1-$2-$3", $phone_num);
=> 010-1234-5678

설명
정규식에서 괄호()를 사용하면 순서대로 $1, $2, $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가지 경우를 "|" (파이프)로 연결 하고 있음으로 셋 중의 하나를 선택 한다는 의미

 

댓글목록

등록된 댓글이 없습니다.