전화번호 뒤 4자리만 보이고 앞자리는 "***" 처리 하려면 어떻게 해야할까요? 채택완료
스산이조아
1년 전
조회 1,896
안녕하세요. 전화번호에서 뒤 4자리만 보이고 앞자리는 *** 으로 보이게 하고 싶습니다.
전화번호 값은 필드하나로 받아서 000-0000-0000 또는 00000000000 등으로 입력되어 있습니다. https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=21&page=5 위 강좌에 나와 있는 내용은 확인했는데, 뒷자리만 보이게 하는 내용은 없어서 어떻게 해야할지 문의 드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 4개
채택된 답변
+20 포인트
1년 전
</p>
<p>function mask_tel($phone) {
$phone = preg_replace("/[^0-9]/", "", $phone); //숫자외 제거
$phone = preg_replace("/([0-9]{3})([0-9]{4})([0-9]{4})/", "$1-$2-$3", $phone); //하이픈 넣어줌
return preg_replace('/([0-9]+)-([0-9]+)-([0-9]{4})/', '${1}-****-$3', $phone); //정규식으로 중간 4자리 마스킹
}</p>
<p>
echo mask_tel('01045455555');
//결과 010-****-5555</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
스산이조아
1년 전
s
sinbi
1년 전
위처럼 하나하나 적을 필요 없이. 아래처럼 하시면 될 듯..
function mask_tel($phone) {
$phone = preg_replace("/[^0-9]/", "", $phone); //숫자외 제거
$phone = preg_replace("/([0-9]{3})([0-9]{4})([0-9]{3,4})/", "$1-$2-$3", $phone); //하이픈 넣어줌
return preg_replace('/([0-9]+)-([0-9]+)-([0-9]{4})/', '${1}-****-$3', $phone); //정규식으로 중간 4자리 마스킹
}
if (!$is_admin && $list[$i]['fm_dadtel']) {
$list[$i]['fm_dadtel'] = mask_tel($list[$i]['fm_dadtel']);
}
function mask_tel($phone) {
$phone = preg_replace("/[^0-9]/", "", $phone); //숫자외 제거
$phone = preg_replace("/([0-9]{3})([0-9]{4})([0-9]{3,4})/", "$1-$2-$3", $phone); //하이픈 넣어줌
return preg_replace('/([0-9]+)-([0-9]+)-([0-9]{4})/', '${1}-****-$3', $phone); //정규식으로 중간 4자리 마스킹
}
if (!$is_admin && $list[$i]['fm_dadtel']) {
$list[$i]['fm_dadtel'] = mask_tel($list[$i]['fm_dadtel']);
}
댓글을 작성하려면 로그인이 필요합니다.
1년 전
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
스산이조아
1년 전
답변감사합니다.
말씀하신 링크 참조해서 확인했습니다.
다만 제가 응용을 할 능력이 안되서, 위 내용에서 뒤 자리만 나오게 하는 내용이 없어서 문의드립니다.
말씀하신 링크 참조해서 확인했습니다.
다만 제가 응용을 할 능력이 안되서, 위 내용에서 뒤 자리만 나오게 하는 내용이 없어서 문의드립니다.
댓글을 작성하려면 로그인이 필요합니다.
1년 전
</p>
<p>function processedPhoneNumber($phoneNumber){
// 숫자만 남기고 모든 문자를 제거
$onlyNumericalPhoneNumber = preg_replace("/[^0-9]/", '', $phoneNumber);
// 마지막 4자리 숫자를 가져옴
$lastFourDigits = substr($onlyNumericalPhoneNumber, -4);</p>
<p> // 마지막 4자리를 제외한 나머지 부분을 가져옴
$maskedPart = substr($onlyNumericalPhoneNumber, 0, -4);</p>
<p>
// 마지막 4자리를 제외한 부분을 *로 마스킹
$maskedPart = str_repeat("*", strlen($maskedPart));
// 마스킹한 부분과 마지막 4자리 숫자를 합침
$processedPhoneNumber = $maskedPart . $lastFourDigits;
return $processedPhoneNumber;
}</p>
<p> </p>
<p>// 사용법</p>
<p>$phoneNumber = "123-4567-8901";
echo processedPhoneNumber($phoneNumber);</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
스산이조아
1년 전
답변감사합니다.!!
제가 php를 잘 몰라서 그누보드에 어떻게 적용해야 잘 모르겠습니다.
아래예처럼 그누보드에 적용해서 설명가능할까요?
if (!$is_admin && $list[$i]['wr_1']) {
$list[$i]['wr_1'] = substr($list[$i]['wr_1'],0,-4)."****";
}
제가 php를 잘 몰라서 그누보드에 어떻게 적용해야 잘 모르겠습니다.
아래예처럼 그누보드에 적용해서 설명가능할까요?
if (!$is_admin && $list[$i]['wr_1']) {
$list[$i]['wr_1'] = substr($list[$i]['wr_1'],0,-4)."****";
}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
말씀해주신 내용 참고해서 아래와 같이 적용해서 성공했습니다.
if (!$is_admin && $list[$i]['fm_dadtel']) {
$list[$i]['fm_dadtel'] = preg_replace("/[^0-9]/", "", $list[$i]['fm_dadtel']); //숫자외 제거
$list[$i]['fm_dadtel'] = preg_replace("/([0-9]{3})([0-9]{4})([0-9]{4})/", "$1-$2-$3", $list[$i]['fm_dadtel']); //하이픈 넣어줌
$list[$i]['fm_dadtel'] = preg_replace('/([0-9]+)-([0-9]+)-([0-9]{4})/', '${1}-****-$3', $list[$i]['fm_dadtel']); //정규식으로 중간 4자리 마스킹
}
<?php echo $list[$i]['fm_dadtel'] ?>
010-****-0000 이런식으로 잘 나옵니다. ~~