통합검색

PHP

[PHP] 숫자만 입력한 연락처에 자동으로 하이픈(-) 추가해주는 함수



하이픈(-) 없이 입력한 휴대전화번호, 유선전화번호에 자동으로 하이픈을 반환해주는 함수.
지원되는 연락처는 아래와 같다.

- 000-000-0000 (휴대전화번호)
- 000-0000-0000 (휴대전화번호)
- 00-000-0000 (유선전화번호)
- 00-0000-0000 (유선전화번호)
- 000-000-0000 (유선전화번호)
- 000-0000-0000 (유선전화번호)
- 0000-0000 (대표전화번호)
 
<?php
function set_add_phone_hipen($value)
    {
        if (!$value) return "";

        $value = preg_replace('/[^0-9]/', '', $value);

        $result = array();
        $restNumber = "";

        if (strpos($value, "02") === 0) {
            $result[] = substr($value, 0, 2);
            $restNumber = substr($value, 2);

        } elseif (strpos($value, "1") === 0) {
            $restNumber = $value;

        } else {
            $result[] = substr($value, 0, 3);
            $restNumber = substr($value, 3);
        }

        if (strlen($restNumber) === 7) {
            $result[] = substr($restNumber, 0, 3);
            $result[] = substr($restNumber, 3);
            
        } else {
            $result[] = substr($restNumber, 0, 4);
            $result[] = substr($restNumber, 4);
        }

        return implode("-", array_filter($result));
    }
?>