Версия для печати. Взято с сайта phpsql.ru

На главную   Назад   Вперед

Проверка телефонных номеров

Как и в случае с адресами e-mail, нам иногда нужно убедиться, что введенный телефонный номер верный. Приведенная ниже функция возвращает 10 чисел номера телефона, если номер задан в 10-значном формате, или 11 цифр, начинающихся с 1 (это мы проверяем американские номера, русские — аналогично). Если введенный номер не похож на номер телефона, функция возвращает false.

<?php
function is_phone($phone)   {
$phone = preg_replace(“/[^\d]+/”,   “”,  $phone); 
$num_digits = strlen($phone);
if  ($num_digits == 11 && $phone[0] == "1")   {
  return substr($phone,  1); 
} else if  ($num_digits == 10)   {
  return $phone; 
} else {
  return false;
}
}
?>
Этот сценарий демонстрирует всю мощь регулярных выражений в комбинации со стандартными строковыми функциями. Функция должна отвергнуть все строки, в которых есть символ, не являющийся цифрой, - это превосходная задача для функции preg_replace (). Поскольку мы знаем, что в строке нет ничего, кроме цифр, все, что нам остается, - это проверить длину строки, чтобы определить количество цифр.

 
Предыдущая   На главную   Следующая