Проверка правильности e-mail`а

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Decaz
Обычный пользователь
Обычный пользователь
 
Сообщения: 86
Зарегистрирован: 30.09.2004 (Чт) 19:43
Откуда: Москва

Проверка правильности e-mail`а

Сообщение Decaz » 05.10.2005 (Ср) 21:19

Напишите пожалуйста код, при котором при нажатии кнопки Command1 будет произведена проверка содержимого текстового поля Text1.Text на правильность заполнения , то есть прописан знак '@', домен .ru, например и т.д.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 05.10.2005 (Ср) 21:40

if instr(text1,"@")="" then
msgbox "..."
endif
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Decaz
Обычный пользователь
Обычный пользователь
 
Сообщения: 86
Зарегистрирован: 30.09.2004 (Чт) 19:43
Откуда: Москва

Сообщение Decaz » 05.10.2005 (Ср) 21:46

хм...чё-то не понятно...попробовал код - сообщение вообще не вылезает...:( можно код поподробнее?

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 05.10.2005 (Ср) 21:47

if instr(text1,"@")="" then

Вообще-то, instr возвращает Long :roll:

Я бы юзал Like
Код: Выделить всё
If text1.text Like "*?@?*.ru" Then
MsgBox "True"
End If
الفيجوال بيسك الرابح

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 05.10.2005 (Ср) 21:53

И через OR ".com", ".org", как минимум надо. По хорошему - надо бы запрос на сервер кидать - существует ли такой пользователь там. Но это сложнее сделать, и практически всегда бесполезно.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 06.10.2005 (Чт) 8:32

Проверяй на соответствие какому-нибудь регулярному выражению, например "[A-Za-z0-9-_']@[A-Za-z0-9-_.]".
2gaidar:mail-серверы не поддерживают возможность узнать, есть ли у них какой-то конкретный пользователь. По вполне понятным причинам.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2005 (Чт) 11:39

ANDLL писал(а):mail-серверы не поддерживают возможность узнать, есть ли у них какой-то конкретный пользователь. По вполне понятным причинам.

Такая возможность в SMTP заложена. Включать её или отключать - на совести каждого конкретного админа.
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 06.10.2005 (Чт) 11:50

Сдается мне, что эта возможность должна быть отрублена у большинства серверов хотя бы потому, что иначе можно составлять спам-листы простым перебором.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2005 (Чт) 13:13

Ну почему же так, в какой-нибудь большой корпоративной сети, закрытой от Инета - вполне нормальный способ избежать расхода трафика на квитки "адресат выбыл".
Изображение

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 06.10.2005 (Чт) 13:35

tyomitch

А что, в локалке, трафик тоже платный? ;)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2005 (Чт) 13:49

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

Decaz
Обычный пользователь
Обычный пользователь
 
Сообщения: 86
Зарегистрирован: 30.09.2004 (Чт) 19:43
Откуда: Москва

Сообщение Decaz » 06.10.2005 (Чт) 14:22

Спасибо всем за помощь, я подобрал оптимальный код:
Код: Выделить всё
If Text6.Text Like "*?@?*.*?" Then...

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 06.10.2005 (Чт) 14:52

tyomitch

Да ладно, тебе ограниченный.

Только если локалка, на 1мбпс ;)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2005 (Чт) 15:55

Изображение

IvanTheTerrible
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 94
Зарегистрирован: 20.07.2005 (Ср) 11:47
Откуда: Moscow

Сообщение IvanTheTerrible » 07.10.2005 (Пт) 14:18

2Decaz

Попробуй в поиске "ActiveX Email Address Verification v1.2" на www.planet-source-code.com
Последний раз редактировалось IvanTheTerrible 07.10.2005 (Пт) 15:43, всего редактировалось 1 раз.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 07.10.2005 (Пт) 15:17

tyomitch

Ну и?

Про ограниченность трафика там нет ничего. Единственное что про него скзано как раз - это что, на 100% загрузить сеть ОЧЕНЬ трудно.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 07.10.2005 (Пт) 15:51

Там же говорят, что уже при 35% загрузке дофигища коллизий.
И что этот уровень загрузки, когда дофигища коллизий, реально встречается в корпоративных сетях.

Т.е. я это про то, что тормозов ненужный трафик добавить реально может.
Изображение

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 07.10.2005 (Пт) 16:22

tyomitch

Да, сколько его там будет, ненужного трафика то.

Я измеряю трафик, в процентах загрузки ширины канала в единицу времени.

Ну, загрузка будет не 35% а 37%. Разница? ;) И потом, сеть размера MS овской - это еще поискать надо.

IvanTheTerrible
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 94
Зарегистрирован: 20.07.2005 (Ср) 11:47
Откуда: Moscow

Сообщение IvanTheTerrible » 07.10.2005 (Пт) 16:57

2RayShade:
"Настоящий программист не поленится написать на ассемблере 10-страничную процедуру, позволяющую сэкономить 10 наносекунд в однократно встречающемся в программе цикле." :D

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 10.10.2005 (Пн) 11:11

IvanTheTerrible

Программист имеет такое же отношение к расматриваемому вопросу, как я - к президенту США :)

IvanTheTerrible
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 94
Зарегистрирован: 20.07.2005 (Ср) 11:47
Откуда: Moscow

Сообщение IvanTheTerrible » 10.10.2005 (Пн) 12:54

RayShade писал(а):IvanTheTerrible
Программист имеет такое же отношение к расматриваемому вопросу, как я - к президенту США :)


Во-во... :lol: И примерно такое же, как использование описанных выше подходов для минимизации объема трафика в локальной сети.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 10.10.2005 (Пн) 12:57

IvanTheTerrible

Точно :)

Дискуссия ушла в сторону :) И превращается в поток флейма :)

IvanTheTerrible
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 94
Зарегистрирован: 20.07.2005 (Ср) 11:47
Откуда: Moscow

Сообщение IvanTheTerrible » 11.10.2005 (Вт) 11:27

Decaz писал(а):Спасибо всем за помощь, я подобрал оптимальный код:
Код: Выделить всё
If Text6.Text Like "*?@?*.*?" Then...


Хороший "оптимальный" код :lol:
Например, такой email "№-`@@@@....^.^.ru@" он распознает, как ПРАВИЛЬНЫЙ. :shock:

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 11.10.2005 (Вт) 12:23

RayShade писал(а):tyomitch
Ну и?
Про ограниченность трафика там нет ничего. Единственное что про него скзано как раз - это что, на 100% загрузить сеть ОЧЕНЬ трудно.

RayShade, при всем уважении... Кажись не такое это и сложное дело. Достаточно лишь отправить пакет (весом всего 50-100 килобайт) на broadcast-IP (адрес широковещательной рассылки) на 138 или 139 порт. Сеть "потонет" моментом - поможет лишь перезапуск всех компов сети.
А я все практикую лечение травами...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 127

    TopList