Приведу пример функции принимающей и возвращающей массив с телефонными номерами.
function validatePhone(array $phones)
{
if (!$phones) {
return false;
}
foreach ($phones as &$phone) {
$phone = trim((string)$phone);
if (!$phone) return false;
$phone = preg_replace('#[^0-9+]+#uis', '', $phone);
if (!preg_match('#^(?:\\+?7|8|)(.*?)$#uis', $phone, $m)) {
return false;
}
$phone = '+7' . preg_replace('#[^0-9]+#uis', '', $m[1]);
if (!preg_match('#^\\+7[0-9]{10}$#uis', $phone, $m)) {
return false;
}
}
return $phones;
}