Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2011, 11:29
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

Помогите с регуляркой
всем привет! использовал вот такую функцию для проверки email
function check_mail(mail) {
	return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(mail);
}


обнаружился один нехороший баг, функция не пропускает адреса вида mail@i.ua

у самого не получается написать регулярку для проверки с таким условием, поэтому прошу помочь мне.

Последний раз редактировалось tazododu, 17.01.2011 в 11:49.
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2011, 12:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

tazododu, оно?
Проверка e-mail регулярное выражение
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2011, 13:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Вот тут предлагают такое решение...

var email='mail@i.ua'
var reg = /^(([a-zA-Z0-9]|[!#$%\*\/\?\|^\{\}`~&'\+=-_])+\.)*([a-zA-Z0-9]|[!#$%\*\/\?\|^\{\}`~&'\+=-_])+@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9-]+$/i  
if (!reg.test(email)) {
    alert ('Пожалуйста, введите корректный электронный адрес.');
} else {
    alert('Ok')
}
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2011, 13:32
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а чё, мне нравится
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2011, 13:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

x-yuri, да ты гурман!
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2011, 18:36
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

ksa
спасибо за ссылку на хороший ресурс. кстати, ваша регулярка пропускает майлы вида qqq@aa.r, sergey@0.1 Которые тоже являются не верными.

x-yuri
это конечно круто ))

давайте попробуем допилить все-таки мою регулярку...
Ответить с цитированием
  #7 (permalink)  
Старый 17.01.2011, 18:39
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

Цитата:
Вот тут предлагают такое решение...
этот вариант тоже не хочет пропускать mail@i.ua
Ответить с цитированием
  #8 (permalink)  
Старый 17.01.2011, 18:51
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,489

Понапридумывали фигни всякой, а потом удивляются.)

Имхо
/^[\w-.]+@[\w-.]+$/
и не парить мозг.

А все эти мегауточнения всё равно не имеют смысла, кому неохота писать мыло - его не напишет: aaa@bbb.cc и все дела.

\upd вон даж движок форума схавал)

Последний раз редактировалось Aetae, 17.01.2011 в 18:57.
Ответить с цитированием
  #9 (permalink)  
Старый 17.01.2011, 19:15
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Aetae,
если вы сокращаете проверку, то сокращайте нормально. Ваша регулярка не пропускает a+a@yandex.ru, я таким разработчикам лучи ненависти посылаю.
Ответить с цитированием
  #10 (permalink)  
Старый 17.01.2011, 19:21
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,489

Сообщение от Kolyaj Посмотреть сообщение
Aetae,
если вы сокращаете проверку, то сокращайте нормально. Ваша регулярка не пропускает a+a@yandex.ru, я таким разработчикам лучи ненависти посылаю.
На яндексе вы не сможете зарегать почту a+a) (как и на всех почтовиках, что я встречал)

Последний раз редактировалось Aetae, 17.01.2011 в 19:24.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Помогите с регуляркой tazododu Общие вопросы Javascript 11 01.03.2010 09:42
помогите с регуляркой ... motoroller Элементы интерфейса 1 23.11.2009 22:01
помогите с регуляркой Holod Общие вопросы Javascript 1 19.08.2009 12:02
Помогите с регуляркой... alexKniaz AJAX и COMET 0 03.11.2008 01:16