/** *이 글을 읽은 당신 *이미 "공대여자는 이쁘다."를 읽었고 그 것이 머리속에 각인 되었다. */
밑의 게시물에 필 받아서...(즉, 그냥) 만들어 봤습니다. 숫자만 세어서 7~12까지의 숫자만 체크됩니다. 그 범위가 안되는 문자열은 false로 return 합니다.
전화번호의 길이만 체크하는 것으로 어떤 형식의 번호인지는 체크하지 않습니다.
아... PHP함수에요.
<? /** * 전화번호 확인 * @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 = */
?>
http://www.mins01.com/20070305/m_board/tech.php?b_id=tech&type=read&b_idx=521&page=1&period=365 |