var
mail,text: AnsiString;
list :TStringList;
i,j,pos1,left,right: integer;
begin
list:=TStringList.Create;
list.LoadFromFile('C:\mail.txt');
for i:=0 to list.Count-1 do
begin
text:=list.Strings[i];
pos1=pos('@',text);
if pos1>0 then
begin
while pos1>0 do
begin
left:=1; right:=Length(text);
for j := pos1-1 downto 1 do
begin
if (not isalnum(text[i]) and text[i]<>'.') then
begin
left := i+1;
break;
end;
end;
for j := pos1+1 to Length(text)-1 do
begin
if (not isalnum(text[i]) and text[i]<>'.') then
begin
right := i-1;
break;
end;
end;
mail := copy(text,left,right-left+1);
Delete(text,left,right-left+1);
pos1 := Pos('@',text);
end;
end;
list.Free;
end;
function CheckEmail(str:string):Boolean;
begin
if (Pos('@',str)>1) and (Pos('@',str)<Pos('.',str))
and (Pos('.',str)<length(str)) then
begin
Result := True ; //合法
end
else begin
Result := False ; //非法
end;
end;