전화번호 뒤 4자리만 보이고 앞자리는 "***" 처리 하려면 어떻게 해야할까요? 채택완료
안녕하세요. 전화번호에서 뒤 4자리만 보이고 앞자리는 *** 으로 보이게 하고 싶습니다.
전화번호 값은 필드하나로 받아서 000-0000-0000 또는 00000000000 등으로 입력되어 있습니다. https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=21&page=5 위 강좌에 나와 있는 내용은 확인했는데, 뒷자리만 보이게 하는 내용은 없어서 어떻게 해야할지 문의 드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 4개
채택된 답변
+20 포인트
2년 전
</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개
�
스산이조아
2년 전
s
2년 전
위처럼 하나하나 적을 필요 없이. 아래처럼 하시면 될 듯..
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']);
}
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
2년 전
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
스산이조아
2년 전
답변감사합니다.
말씀하신 링크 참조해서 확인했습니다.
다만 제가 응용을 할 능력이 안되서, 위 내용에서 뒤 자리만 나오게 하는 내용이 없어서 문의드립니다.
말씀하신 링크 참조해서 확인했습니다.
다만 제가 응용을 할 능력이 안되서, 위 내용에서 뒤 자리만 나오게 하는 내용이 없어서 문의드립니다.
댓글을 작성하려면 로그인이 필요합니다.
2년 전
</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개
�
스산이조아
2년 전
답변감사합니다.!!
제가 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 이런식으로 잘 나옵니다. ~~