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

전화번호 표시 채택완료

망이망소이 3년 전 조회 3,526

전화번호 형식을

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

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/표준

요렇게 하시면 됩니다.

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

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

3년 전

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

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

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

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

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

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

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

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

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

답변에 대한 댓글 2개

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

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

</p>

<p><?=substr($view['wr_4'],0,3) . '-' . substr($view['wr_4'],3,-4) . '-' . substr($view['wr_4'],-4)?></p>

<p>

 

아니면 아래 처럼 하면?!

 

</p>

<p>$number = '01012345678';</p>

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

<p><code>$number</code> <code>= preg_replace(</code><code>$pattern</code><code>, </code><code>'$1-$2-$3'</code><code>, </code><code>$number</code><code>);</code></p>

<p>

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

답변에 대한 댓글 4개

망이망소이
3년 전
감사합니다. 두가지 방법다 그대로 입니다. ㅜㅜ
릴보이즈
3년 전
그럼 다시 한번 설명 해주세요
제가 이핼 못했나봐요
망이망소이
3년 전
전화번호형식은 기재하면 안되니 알파벳으로 해볼게요.
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을 맨앞에 끼워넣거나 중간세자리가 나오게 하는 형식으로 고치면 될듯한데 어렵네요 ^^
릴보이즈
3년 전
전화번호 예시좀 알려주세요

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

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

로그인