Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Нужна корректировка для регулярного выражения для проверки email-а

Сообщения:  [1-9] 

 
 автор: TetRiska   (23.09.2011 в 12:49)   письмо автору
 
   для: TetRiska   (23.09.2011 в 10:52)
 

вот подсказали такой РВ, мощное довольно решение, но в название почты пропускает /*^ и тд как исправить?
/^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2,4}|museum|travel)$/i 


Или как по Вашему допускать такие символы или нет? Вот я сделал запрет в названии на все символы кроме -_.
/^[a-z0-9-_\.]+@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2,4}|museum|travel)$/i

  Ответить  
 
 автор: TetRiska   (23.09.2011 в 10:52)   письмо автору
 
   для: f111   (22.09.2011 в 23:22)
 

Вопрос все еще открыт:
var filter = /^[-0-9a-z_\.]+@[-0-9a-z\.]+\.[a-z]{2,6}$/i;

пропускает все еще :(
pochta@.mail.ua
pochta@mail.com..ua
pochta@mail.com.pp..ua
pochta@mail.com..pp..ua
pochta@mail..com..pp..ua
и тд...

  Ответить  
 
 автор: TetRiska   (22.09.2011 в 23:27)   письмо автору
 
   для: TetRiska   (22.09.2011 в 23:20)
 

/(?:[0-9a-z][.\-\w]*)@(?:(?:[0-9a-z][\-0-9a-z]*[0-9a-z]\.)+[a-z]{2,6})/i

пропускает:
poc/hta@mail.ru
poc\hta@mail.ru
poc?hta@mail.ru
pochta@mail.hh..ru
poc hta@mail.ru #пробелы как в названии так и в начале

в общем метод не ахти

  Ответить  
 
 автор: f111   (22.09.2011 в 23:22)   письмо автору
 
   для: cheops   (22.09.2011 в 23:14)
 

cheops, я конечно снова не в тему)), но почему в первых квадратных кавычках вы не используете \w? заменяет ведь 0-9a-zA-Z_

TetRiska, громоздко, но мне нравится (хотя я бы не использовал). Но регулярка, хорошая, "щепетильная"

  Ответить  
 
 автор: TetRiska   (22.09.2011 в 23:20)   письмо автору
 
   для: cheops   (22.09.2011 в 23:14)
 

сейчас проверю, а что скажете насчет этого? на одном форуме посоветовали, но как-то оно слишком громоздко
/(?:[0-9a-z][.\-\w]*)@(?:(?:[0-9a-z][\-0-9a-z]*[0-9a-z]\.)+[a-z]{2,6})/i


П.С. Ваш вариант ругается на такое мыло
fdf@mail.ru

что-то не так :)

  Ответить  
 
 автор: cheops   (22.09.2011 в 23:14)   письмо автору
 
   для: TetRiska   (22.09.2011 в 22:39)
 

Попобуйте следующее регулярное выражение
var filter = /^[-0-9a-z_\.]+@[-0-9a-z\.]+(?!\.)\.[a-z]{2,6}$/i;

  Ответить  
 
 автор: TetRiska   (22.09.2011 в 22:39)   письмо автору
 
   для: cheops   (22.09.2011 в 21:24)
 

все хорошо, но:
moyapochta@self.your.ru

не прокатит

  Ответить  
 
 автор: cheops   (22.09.2011 в 21:24)   письмо автору
 
   для: TetRiska   (22.09.2011 в 20:28)
 

Попробуйте так
var filter = /^[-0-9a-z_\.]+@[-0-9a-z]+\.[a-z]{2,6}$/i;

  Ответить  
 
 автор: TetRiska   (22.09.2011 в 20:28)   письмо автору
 
 

Всем привет. Имею такое РВ:
var filter = /^[-0-9a-z_\.]+@[-0-9a-z^_\.]+\.[a-z]{2,6}$/i;

Собственно как сделать, чтобы не пропускало:
#запретить подчеркивание и точки в названии домена, по идее должно работать, но не срабатывает ^_\.
yapochtapo@mail_рр.ru
yapochtapo@.mail.ru
yapochtapo@mail..ru

Спасибо.

  Ответить  

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования