전화번호 변환 정규식
페이지 정보
작성자 JMStudy 작성일15-11-18 11:27 조회9,306회 댓글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가지 경우를 "|" (파이프)로 연결 하고 있음으로 셋 중의 하나를 선택 한다는 의미
맨끝 괄호
([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가지 경우를 "|" (파이프)로 연결 하고 있음으로 셋 중의 하나를 선택 한다는 의미
댓글목록
등록된 댓글이 없습니다.