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

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

25.12.2013, 16:48. Показов 2397. Ответов 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
3187 / 2221 / 640
Регистрация: 20.07.2013
Сообщений: 6,017
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
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru