Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10

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

25.12.2013, 16:48. Показов 2413. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Домен не может заканчиваться дефисом. Например, недопустим адрес: p_pg@m12-.it.mail.ru
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.12.2013, 16:48
Ответы с готовыми решениями:

Разработать программу, которая вводит адрес электронной почты и проверяет синтаксис введенного адреса. Результат проверки выводится в виде сообщения
Дефис в доменном имени может быть только одиночным. Например, недопустим адрес: p_pg@m12.i--t.pochta.ru # include...

Разработать программу, которая вводит адрес электронной почты и проверяет синтаксис введенного адреса
В имени пользователя могут быть только следующие символы: буквы латинского алфавита, цифры, дефис (-), подчеркивание (_), точка (.),...

В 1С 7.7 написать программу проверки правильности ввода адреса электронной почты
В 1С 7.7 написать программу проверки правильности ввода адреса электронной почты.

7
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
25.12.2013, 17:06
Цитата Сообщение от Vadres9 Посмотреть сообщение
Домен не может заканчиваться дефисом. Например, недопустим адрес: p_pg@m12-.it.mail.ru
С чем у Вас возникли сложности?
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
25.12.2013, 17:13  [ТС]
нужно ввести что последний элемент домена не равнялся "-".Чего то не получается.
кое как написал прогу которая проверяет на корректность логина.
я только учусь что так нужна помощь
0
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
25.12.2013, 17:14
Vadres9, какой Вы видете помощь Вам исходя из предоставленной Вами информации?
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
25.12.2013, 17:21  [ТС]
желательно написать весь код для C++ Builder
0
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
25.12.2013, 17:25
Vadres9, так Вы мало чему научитесь. Выкладывайте свои наработки, получайте ценные указания, верные ссылки, изучайте материал, набирайте опыт, завоёвыйвайте бонусы, заводите друзей. Освободите Калимдор!
0
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
25.12.2013, 17:31
Vadres9,
1) разбей исходную строку адреса на подстроки, ориентируясь на разделители '@.';
2) каждую из полученных строк проверь на корректность [чтобы начиналась с буквы, не содержала запрещённых символов, типа '%;:^', заканчивалась бы буквой или цифрой];
3) если все строки проходят проверку - адрес правильный, иначе - нет.
0
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
26.12.2013, 21:18
В общем случае, если разбираешься в регулярных выражениях (и "понимаешь" Дельфи ака Паскаль), то пример проверки корректности email'а можешь по[д]смотреть здесь (см. последнюю функцию DecorateEMails, далее обрати внимание на константу MailTemplate):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
{$B-}
unit HyperLinksDecorator;
 
{
 
 Functions to 'decorate' hyper-links
   (search for URLs and e-mails and replace 
    them with appropriate HTML-links).
 Uses TRegExpr library.
 
 (c) 2002 Andrey V. Sorokin, Saint Petersburg, Russia
  mailto:anso@mail.ru
  [url]http://www.RegExpStudio.com[/url]
 
 v. 0.101 2002.08.30 
  -=- (-) Missed closing tag </a>
 
 Note:
  This functions have to be optimized - they construct result strings
  with step by step concatenation that can take a lot of resources while
  processing big input texts with many hyper links.
 
}
 
interface
 
uses
 RegExpr;
 
type
TDecorateURLsFlags = (
 // describes, which parts of hyper-link must be included
 // into VISIBLE part of the link:
  durlProto, // Protocol (like 'ftp://' or 'http://')
  durlAddr,  // TCP address or domain name (like 'RegExpStudio.com')
  durlPort,  // Port number if specified (like ':8080')
  durlPath,  // Path to document (like 'index.html')
  durlBMark, // Book mark (like '#mark')
  durlParam  // URL params (like '?ID=2&User=13')
 );
 
TDecorateURLsFlagSet = set of TDecorateURLsFlags;
 
 
function DecorateURLs (
 // can find hyper links like 'http://...' or 'ftp://..'
 // as well as links without protocol, but start with 'www.'
 
 const AText : string;
 // Input text to find hyper-links
 
  AFlags : TDecorateURLsFlagSet = [durlAddr, durlPath]
 // Which part of hyper-links found must be included into visible
 // part of URL, for example if [durlAddr] then hyper link
 // 'www.RegExpStudio.com/contacts.html' will be decorated as
 // '<a href="http://www.RegExpStudio.com/contacts.html">www.RegExpStudio.com</a>'
 
  ) : string;
 // Returns input text with decorated hyper links
 
 
function DecorateEMails (
 // Replaces all syntax correct e-mails
 // with '<a href="mailto:ADDR">ADDR</a>'
 // For example, replaces 'anso@mail.ru'
 // with '<a href="mailto:anso@mail.ru">anso@mail.ru</a>'.
 
 const AText : string
 // Input text to find e-mails
 
  ) : string;
 // Returns input text with decorated e-mails
 
 
implementation
 
uses
 SysUtils; // we are using AnsiCompareText
 
function DecorateURLs (const AText : string;
  AFlags : TDecorateURLsFlagSet = [durlAddr, durlPath]
  ) : string; 
const 
  URLTemplate = 
   '(?i)' 
   + '(' 
   + '(FTP|HTTP)://'             // Protocol 
   + '|www\.)'                   // trick to catch links without
                                 // protocol - by detecting of starting 'www.'
   + '([\w\d\-]+(\.[\w\d\-]+)+)' // TCP addr or domain name
   + '(:\d\d?\d?\d?\d?)?'        // port number
   + '(((/[%+\w\d\-\\\.]*)+)*)'  // unix path
   + '(\?[^\s=&]+=[^\s=&]+(&[^\s=&]+=[^\s=&]+)*)?'
                                 // request (GET) params
   + '(#[\w\d\-%+]+)?';          // bookmark
var
  PrevPos : integer;
  s, Proto, Addr, HRef : string;
begin
  Result := ''; 
  PrevPos := 1; 
  with TRegExpr.Create do try 
     Expression := URLTemplate; 
     if Exec (AText) then 
      REPEAT 
        s := ''; 
        if AnsiCompareText (Match [1], 'www.') = 0 then begin
           Proto := 'http://';
           Addr := Match [1] + Match [3];
           HRef := Proto + Match [0];
          end
         else begin
           Proto := Match [1];
           Addr := Match [3];
           HRef := Match [0];
          end;
        if durlProto in AFlags
         then s := s + Proto;
        if durlAddr in AFlags
         then s := s + Addr;
        if durlPort in AFlags
         then s := s + Match [5];
        if durlPath in AFlags
         then s := s + Match [6];
        if durlParam in AFlags
         then s := s + Match [9];
        if durlBMark in AFlags
         then s := s + Match [11];
        Result := Result + System.Copy (AText, PrevPos,
         MatchPos [0] - PrevPos) + '<a href="' + HRef + '">' + s + '</a>'; //###0.101
        PrevPos := MatchPos [0] + MatchLen [0];
      UNTIL not ExecNext;
     Result := Result + System.Copy (AText, PrevPos, MaxInt); // Tail
    finally Free;
   end;
end; { of function DecorateURLs
--------------------------------------------------------------}
 
function DecorateEMails (const AText : string) : string;
 const
  MailTemplate =
   '[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+';
 var
  PrevPos : integer;
 begin
  Result := '';
  PrevPos := 1;
  with TRegExpr.Create do try
     Expression := MailTemplate;
     if Exec (AText) then
      REPEAT
        Result := Result + System.Copy (AText, PrevPos,
         MatchPos [0] - PrevPos) + '<a href="mailto:' + Match [0] + '">' + Match [0] + '</a>';
        PrevPos := MatchPos [0] + MatchLen [0];
      UNTIL not ExecNext;
     Result := Result + System.Copy (AText, PrevPos, MaxInt); // Tail
    finally Free;
   end;
 end; { of function DecorateEMails
--------------------------------------------------------------}
 
 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.12.2013, 21:18
Помогаю со студенческими работами здесь

Нет текста сообщения и адреса электронной почты
Добрый день! Такая проблема ... в Хроме, Яндекс-браузере все работает (запросы с сайта приходят) в IE и в mozilla что то не так - ...

Напишите программу, которая считывает IPv4 адрес и проверяет ее валидность. Форма записи IPv4 адреса – x.x.x.x
Напишите код для программы Пример: Напишите программу, которая считывает IPv4 адрес и проверяет ее валидность. Форма записи IPv4 адреса...

Написать программу, которая проверяет, принадлежит ли точка (x,y) закрашенной области (x, y и при необходимости R вводит
Помогите с программой

Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива
Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива из 7 вещественных чисел убывающую...

Проверка адреса электронной почты
Друзья, всем привет! Стоит задача перед отправкой сообщения проверить существование электронного адреса. Не нужно путать с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru