Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.04.2014, 10:34
Аватар для Boomerml
Аспирант
Отправить личное сообщение для Boomerml Посмотреть профиль Найти все сообщения от Boomerml
 
Регистрация: 04.12.2013
Сообщений: 31

Быстрое и простое рег. выражение(корректность email'a)
Знаю, писалось уже тыщу раз... Но мне нужно самый смак..

Нужна регулярка проверки корректности емайл адреса, поразмыслив получилось так

больше х1 символов | '@' | больше x1 символа | точка | больше х1 символа

символ, это конечно eng - цифра или буква ну и всяких там ._-(думаю другие же вроде не используют?)(ну конечно что он может быть только из букв, или только из цифр)

Может вариант и не идеален, но мне кажется этого куда достаточно(ведь всё не учтёж, да и мне кажется что не нужно)
Спасибо! с меня палтишок, отпишу в пм

Последний раз редактировалось Boomerml, 06.04.2014 в 10:42.
Ответить с цитированием
  #2 (permalink)  
Старый 06.04.2014, 10:51
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Сейчас, со всякими этими нац. доменами символы могут быть какими угодно на самом деле.
Как то так:
/^[^@]+@[^@]+\.[^@]{2,4}$/
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 06.04.2014, 11:03
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от Aetae Посмотреть сообщение
Сейчас, со всякими этими нац. доменами символы могут быть какими угодно на самом деле.
Как то так:
/^[^@]+@[^@]+\.[^@]{2,4}$/
Про пробелы забыли:

var regexp = /^[^@]+@[^@]+\.[^@]{2,4}$/
str = 'sdasda asdsa adaasddsa@adsadas.las';
alert( str.match(regexp) ); '' //'sdasda asdsa adaasddsa@adsadas.las'
alert( regexp.test(str) ); //true

Да и под домен первого уровня маловато символов, туда всякие travel и museum не влезут. Хотя кто их для почты юзает...

В общем, если исключить пробелы, то будет так:
/^[^@\s]+@[^@\s]+\.[^@\s]{2,4}$/

А вообще зачем изобретать велосипеды, когда этих валидационных регулярок в сети как собак нерезанных?

Последний раз редактировалось jsnb, 06.04.2014 в 11:16.
Ответить с цитированием
  #4 (permalink)  
Старый 06.04.2014, 11:46
Аватар для Boomerml
Аспирант
Отправить личное сообщение для Boomerml Посмотреть профиль Найти все сообщения от Boomerml
 
Регистрация: 04.12.2013
Сообщений: 31

беда

при asd%40asd.kz можно так? или лучше преобразовать...? и чем(не сталкивался..)?
var regexp = /^[^@]+%40[^@]+\.[^@]{2,4}$/

насчёт остального вроде корректно...

Последний раз редактировалось Boomerml, 06.04.2014 в 11:49.
Ответить с цитированием
  #5 (permalink)  
Старый 06.04.2014, 11:58
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от Boomerml Посмотреть сообщение
или лучше преобразовать...? и чем(не сталкивался..)?
alert( decodeURIComponent('asd%40asd.kz') );

http://javascript.ru/decodeURIComponent

Последний раз редактировалось jsnb, 06.04.2014 в 12:01.
Ответить с цитированием
  #6 (permalink)  
Старый 06.04.2014, 12:12
Аватар для Boomerml
Аспирант
Отправить личное сообщение для Boomerml Посмотреть профиль Найти все сообщения от Boomerml
 
Регистрация: 04.12.2013
Сообщений: 31

jsnb
Только нашёл stackoverflow, и тут Вы

Человеческое спасибо пошёл читать...

Вопрос закрыт!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение и метод test tsigel Общие вопросы Javascript 3 30.08.2013 13:47
регулярное выражение literator Ваши сайты и скрипты 1 18.08.2013 18:24
регулярное выражение leny Общие вопросы Javascript 1 24.09.2011 17:30
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29
регулярное выражение demi Общие вопросы Javascript 3 10.03.2009 13:10