2010-04-20 2 views

답변

4
function formatPhone($string) 
{ 
    $number = trim(preg_replace('#[^0-9]#s', '', $string)); 

    $length = strlen($number); 
    if($length == 7) { 
     $regex = '/([0-9]{1})([0-9]{3})([0-9]{3})([0-9]{4})/'; 
     $replace = '$1-$2'; 
    } elseif($length == 10) { 
     $regex = '/([0-9]{3})([0-9]{3})([0-9]{4})/'; 
     $replace = '($1) $2-$3'; 
    } elseif($length == 11) { 
     $regex = '/([0-9]{1})([0-9]{3})([0-9]{3})([0-9]{4})/'; 
     $replace = '$1 ($2) $3-$4'; 
    } 

    $formatted = preg_replace($regex, $replace, $number); 

    return $formatted; 
} 
0

그들은 잠시 동안 this을 Zend_Framework에 넣으려고했으나 어떤 이유로 든 1.10에 해당하지 않았습니다. 개인적으로

, 난 그냥 가능한 한 많은 문자열을 정리하는 경향이 (아직 PHP 하나이있는 것은 아니다) 입력 유형을 검증하기위한 아주 좋은, 잘 설립 라이브러리 ..

가없는 한

전화 번호는 단순히 공백을 자르고 간단하게 정규 표현식을 사용하여 보편적으로 유지하도록합니다 ("."대신 "-"등).

더 나은 것이 나오면 그 방법 내에서 논리를 다시 작성하여 활용하는 것이 좋습니다.