![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как сделать проверку на соответсвие виду EMail ?
На PHP делается с помощью регулярынх выражений. PHP код:
Как сделать нечто похожее на Delphi? |
#2
|
||||
|
||||
![]() Думаю можно сделать с помощю TMaskEdit. Я не разу не делал но попробуйте поискать в этом направлении.
|
#3
|
|||
|
|||
![]() Через TMaskEdit не вариант. Нужно проверять именно из String, т.к. прилетает запрос по сети и помещается в String.
|
#4
|
|||
|
|||
![]() Напиши для себя по русски те проверки, которые ты хочешь сделать, а потом просто имплементируй их на Дельфи.
Например, email должен: 1. Содержать в себе знак @ не на первой позиции и не на позиции после последней точки (.); 2. Содержать хоть одну точку после @; 3. Заканчиваться на техбуквенный домен из списка (...) или на двухбуквенный любой домен. А теперь эти проверки сделай на паскале. |
#5
|
|||
|
|||
![]() Нашел на Delphimaster
Код:
function CheckAllowed(const s: string): boolean; var i: integer; begin Result:= false; for i:= 1 to Length(s) do begin if not (s[i] in ['a'..'z', 'A'..'Z', '0'..'9', '_', '-', '.']) then Exit; end; Result:= true; end; function IsValidEmail(const Value: string): boolean; var i: integer; namePart, serverPart: string; begin Result:= false; i:= Pos('@', Value); if i = 0 then Exit; namePart:= Copy(Value, 1, i - 1); serverPart:= Copy(Value, i + 1, Length(Value)); if (Length(namePart) = 0) or ((Length(serverPart) < 5)) then Exit; i:= Pos('.', serverPart); if (i = 0) or (i > (Length(serverPart) - 2)) then Exit; Result:= CheckAllowed(namePart) and CheckAllowed(serverPart); end; |