Web/PHP

[PHP] PHP 정규식 사용하여 휴대폰 번호의 중간 4 자리를 별표(*)로 표시

projin 2019. 9. 2. 21:53

<?php
/*
PHP 정규식 사용하여 휴대폰 번호의 중간 4 자리를 별표(*)로 표시
작성자 : 웹인스토리
웹 사이트 : https://webinstory.tistory.com
*/

//Method 1:

function hidtel($phone){

    $IsWhat = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i',$phone); 

    if($IsWhat == 1){

        return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i','$1****$2',$phone);

    }else{

        return  preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone);

    }

}

//Method 2:

$num = "01012345678"

$str = substr_replace($num,'****',3,4);



//예제:

$phonenum = "01012345678";

echo hidtel($phonenum);

  

//결과:010****5678


//Method 3:정규식 이용

$phone_num​ = "01011112222";​
preg_replace("/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/", "$1-****-$3", $phone_num);

//결과 : 010-****-2222
?>