validatePhoneNumber() , 전화번호 체크

<?
/**
* 전화번호 확인
* @param string $number (숫자만 세어 7~12개의 문자열)
*/

function validatePhoneNumber($number){
 $number = preg_replace('/[^0-9]/','',$number);
 switch(strlen($number)){
  case 7:;
  case 8:;
   $pattern = '/^(.{4})(.*)$/';
   $replace = '$1-$2';
  break;
  case 9:;
  case 10:;
  case 11:;
  case 12:
   $pattern = '/^(02|0.{2}|.{4})(.*)(.{4})$/';
   $replace = '$1-$2-$3';
  break;
 }
 if(!isset($pattern)){ return false; }
 return preg_replace($pattern,$replace,$number);
}

//================
// 테스트
//================
$arr = array(
  '02-1234-5678'
 ,'02'
 ,'02-1'
 ,'02-12'
 ,'02-123'
 ,'02-1234'
 ,'02-1234-5'
 ,'02-1234-56'
 ,'02-1234-567'
 ,'02-1234-5678'
 ,'02-1234-56789'
 ,'02-1234-567890'

 ,'099'
 ,'099-1'
 ,'099-12'
 ,'099-123'
 ,'099-1234'
 ,'099-1234-5'
 ,'099-1234-56'
 ,'099-1234-567'
 ,'099-1234-5678'
 ,'099-1234-56789'
 ,'099-1234-567890'

 ,'0505'
 ,'0505-1'
 ,'0505-12'
 ,'0505-123'
 ,'0505-1234'
 ,'0505-12345'
 
 ,'1599'
 ,'1599-1'
 ,'1599-12'
 ,'1599-123'
 ,'1599-1234'
 ,'1599-12345'
 ,'1599-123456'
 ,'1599-1234567'
 ,'1599-12345678'
 ,'1599-123456789'
 ,'1599-1234567890'
);

for($i=0,$m=count($arr);$i<$m;$i++){
 $number = $arr[$i];
 echo $number." \t= ";
 echo validatePhoneNumber($number);
 echo "\n";
}
 

/*
결과
02-1234-5678    = 02-1234-5678
02      =
02-1    =
02-12   =
02-123  =
02-1234         =
02-1234-5       = 0212-345
02-1234-56      = 0212-3456
02-1234-567     = 02-123-4567
02-1234-5678    = 02-1234-5678
02-1234-56789   = 02-12345-6789
02-1234-567890  = 02-123456-7890
099     =
099-1   =
099-12  =
099-123         =
099-1234        = 0991-234
099-1234-5      = 0991-2345
099-1234-56     = 099-12-3456
099-1234-567    = 099-123-4567
099-1234-5678   = 099-1234-5678
099-1234-56789  = 099-12345-6789
099-1234-567890         =
0505    =
0505-1  =
0505-12         =
0505-123        = 0505-123
0505-1234       = 0505-1234
0505-12345      = 050-51-2345
1599    =
1599-1  =
1599-12         =
1599-123        = 1599-123
1599-1234       = 1599-1234
1599-12345      = 1599-1-2345
1599-123456     = 1599-12-3456
1599-1234567    = 1599-123-4567
1599-12345678   = 1599-1234-5678
1599-123456789  =
1599-1234567890         =
*/


?>

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
공대여자
공대여자
공대여자
공대여자
공대여자
PHPExcel 1 6
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자