Регулярные выражения, проверка телефона

Мутник

Новичок
Регулярные выражения, проверка телефона

Нужно написать проверку телефона. Возможные входящие символы: [0-9], тире, пробел и все.

Не подскажите?

В чем тут ошибка:

Код:
if (eregi("/[^0-9-\s]/", $phone, $arr_vars)) echo "ok";
 

_RVK_

Новичок
Хотя бы в том, что ты используеш PCRE рег в функции работающей с POSIX регами.
 

empty

Guest
7 значный номер проверяем:
PHP:
if (preg_match ("/^[0-9\- ]{7,9}$/", "541-99 99", $arr_vars)) echo "ok";

print_r($arr_vars);
 

MeLLowD

Guest
Diesel
а не так случайно preg_match('/^[\s-0-9]+$/',$phone)?
 

Мутник

Новичок
2 Дизель

Я тоже так пробовал - почему не работает? подскажи пожалуйста.

PHP:
preg_match('/^[\s-0-9]+$/',$phone)
 

Сергей123

Новичок
Мутник
попробуй мой вариант. И утверждения про не работает - с примерами $phone.
 

empty

Guest
Мутник
не слушай никого. бери мой вариант. он 100% работает для 7 значного номера, где разделители либо пробел, либо знак -.
 

_RVK_

Новичок
Бресь Сергей твой вариант ничем не отличается от моего.
 

empty

Guest
А вообще, вот так вот круче:

PHP:
$q = "0-9\- ";
if (preg_match ("/^[$q]{3}(-| )?[$q]{2}(-| )?[$q]{2}$/", "541-99 99", $arr_vars))

echo $arr_vars[0];
-~{}~ 12.08.04 15:44:

ForJest
попробуй, позвони :)
 
Сверху