2026, 새로운 도약을 시작합니다.

전화번호 표시 채택완료

3년 전 조회 3,812

전화번호 형식을

엑셀로 디비에 몽땅 넣었는데

3211113333 이런식으로 맨앞에 0이 빠져서 입력이 되어 버렸네요. 전국적으로다가...

그래서 보기페이지에서 

<? echo preg_replace("/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/", "$1-$2-$3", $view['wr_4']); ?>

이렇게 출력해줄때 0을 그냥 붙여주려고 합니다. 여기저기 다 넣어봤는데 어디에 어떻게 넣어야하는지...

답변 5개

답변들 많이 주셨는데 죄송합니다. 그냥 다 지우고 다시 엑셀파일을 수정했습니다. 

혹시 전화번호 앞0 생략되거든 

셀 선택후 서식 > 사용자 지정 > "0"G/표준

요렇게 하시면 됩니다.

로그인 후 평가할 수 있습니다

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

혹시 DB 전화번호 등록되는 필드 구조가 int로 되어 있는 건 아닌지? 맞는다면 varchar로 변경하면 해결될 거 같은데요.

로그인 후 평가할 수 있습니다

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

0을 정규식 전에 넣으란 이야기에요...

로그인 후 평가할 수 있습니다

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

$view['wr_4'] = '0'.$view['wr_4'];

으로 하면 앞에 0이 붙습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

감사합니다. 0접합을 하고 - 사이 구분자도 살아있어야 해서요.
<?echo preg_replace("/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/", "$1-$2-$3", '0'.$view['wr_4']); ?>
아이고... 의외로 간단하게 풀렸네요. 제가 실수했습니다. 정말 고맙습니다.^^

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

Copy

아니면 아래 처럼 하면?!

Copy


$number = '01012345678';

$pattern = '/([\d]{3})([\d]{3,4})([\d]{4})/';

$number = preg_replace($pattern, '$1-$2-$3', $number);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

감사합니다. 두가지 방법다 그대로 입니다. ㅜㅜ
그럼 다시 한번 설명 해주세요
제가 이핼 못했나봐요
전화번호형식은 기재하면 안되니 알파벳으로 해볼게요.
abc-abc-abcd 일반전화가 이런식이잖아요.
echo preg_replace("/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/", "$1-$2-$3", $view['wr_4']);
이렇게 출력하면 되는데요.
디비에 들어갈때 맨앞의 0이 다 생략이 되고 들어가버렸어요. 그래서 값불러올때 bca-bc-abcd 이런식으로 나와요. 그래서 0을 맨앞에 끼워넣거나 중간세자리가 나오게 하는 형식으로 고치면 될듯한데 어렵네요 ^^
전화번호 예시좀 알려주세요

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고