Обновить
Комментарии 23
Теперь вам придется погибнуть в неравной борьбе с изобретательностью пользователей.

Начнем с my email: test#example.com, use @ instead of #, admins sucks.
Выжду денек и после всех комментов сделаю апгрэйд регуляркам. Мне, кстати, это будет только в помощь по работе!
Пусть пользователи видят, что их e-mail опубликован, тогда они не будут извращаться в попытках его написать. А другим просто не показывать их адреса.
а разгадка одна — емейл картинкой или аски-артом :)
А телефон можно прописью написать…
Защиту от дурака сделать можно, но только от не изобретательного…
Когда пользователи не знают что их контакты порежутся, они их не особо то и маскируют. И вот тогда защита от дурака срабатывает всегда!
Повторюсь: для конкретного сайта (30.000 постов) эти регулярки покрыли если не 100%, то 99% всех телефонов и email'ов.

На счет эффективности при введении фильтрации спорить не буду, но после первичного отсева пользователи уже будут в курсе, что адреса режутся и будут искать способы обойти ограничение.
Вам уже пришлось встраивать фильтр на добавление информации или это только предстоит? (Возможно, последующая фильтрация в задачи не входит, тогда мой вопрос не имеет смысла)
Мы не на абум решили такие фильтры ставить!

Пользователь загружает резюме (doc/docx/txt), там есть контакты, мы их режим.
Как правило, у одного пользователя одно резюме.
Перезаливать резюме второй раз обычно лень.

Именно по-этому эффективность такого фильтра высока в нашем случае.

Я полностью с вами согласен, что на каком-нить форуме, где посты льются реками, эти меры вообще не пройдут.

Везде нужны свои подходы!
Понятно. Спасибо за комментарии.
А зачем в телефоне {10,20}, если больше 12 символов в номере не бывает (а вот меньше 10 еще как бывает)?
И плюс возможен только спереди.
А, пардон, с дефисами и прочим бывает, конечно.
Регулярка будет работать не совсем корректно, ну например, я опубликую ISBN и если вы отбиваете через \s начало слова, то посмотрите на \b и по хорошему почитайте фридела
А ещё может порубить что нибудь корректное, ну на пример
— 1 — какой нибудь текст
— 2 — Посмотрите в первый пункт :)

циферки с тире порежется как телефон
* хабр порезал набор тире — - — - 1 — - — - — типа такого
да, ISBN порежется (а ибо нефик его делать похожим на телефон!)

\s — не начало слова, а любой пробельный символ.

RTFM может сказать любой, это не культурно с вашей стороны!
Вы не правы, это не когда на вопрос как сделать что то линуксойды говорят man blah
Фридл, это действительно хорошая книга по регуляркам, у вас объективности ради обе регулярки не очень, вы же не попытались даже приложить мозги (простите но это так), вместо того, что бы попытаться поразмышлять

Предположим нужно порезать телефон, возьмём для объективности Россию (можно адаптировать)
+7 912 1234567
8 (912) 1234567
8-912-123-45-67
8 912 123 4567
наверное основные варианты, писать идиотов «восемь 912 один 23 четыре 567» не думаю, что будет много, но вы их не сможете порезать, будет разумней написать

т.е. у нас всегда номер начинается на 8 или +7 а потом 10 цифр с разделителем пробле, тире и иногда числа в скобках,
/
(?:\+7|8)
([- ()]*\d){10}
/x

вот и будет наш номер без скобок конечно в, можно дальше добавить и скобки именно в нужные места (открывающую можно вынести смело после восьмёрки) достаточно мозг включить и всё будет как надо
По поводу нет в интернете, а вы не пробывали искать, ну на CPAN например? думаю что нет.
\s — не начало слова, а любой пробельный символ.

Тогда я буду писать номер с начала строки и он останется
То что я не объективен — это лишь Ваше субъективное мнение.
Я адаптировал регулярки для моих данных и я ДОВОЛЕН результатом.

А вы нашли что-то на CPAN? Если да, ссылочку в студию!

Между прочим, \s включает в себя перенос строки. И даже если вы напишите номер с начала строки, он всё-равно подпадет под выражение.

ЗЫ
спасибо за адаптированный для России вариант, жаль что мне он не нужен.
я бы порассуждал, но это во флейм превращается, если про cpan посмотрите что нибудь на тему Email::Valie (не уверне, но вроде, я на выход) а вообще, всё же возьмите фридела, бумажная стоит рублей 300 электронную можно найти бесплатно, я видел в chm & pdf
>>Я, к сожалению, не смог нагуглить найти готового решения в интернете
вы что хотите сказать что не нашли в интернете регулярку для email?
Мне нужна не простая email регулярка.
Читайте внимательнее топик перед его комментированием, сударь!
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.