mainunit.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:2k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit mainunit;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     Label1: TLabel;
  9.     Edit1: TEdit;
  10.     Button1: TButton;
  11.     procedure Button1Click(Sender: TObject);
  12.   private
  13.     { Private declarations }
  14.   public
  15.     { Public declarations }
  16.   end;
  17. var
  18.   Form1: TForm1;
  19. implementation
  20. {$R *.dfm}
  21. function IsVaildEmailAddr(EmailAddr:String):boolean;
  22. var
  23.  Number,I:integer;  //Number用于给字符'@'计数
  24.  TempStr:String;
  25. begin
  26.  TempStr:=EmailAddr;
  27.  Number:=0;
  28.  for I:=1 to Length(TempStr) do
  29.    begin
  30.      if (TempStr [I]='@') then
  31.        INC(Number);
  32.    end;
  33.    if ((Number =0)or(Number >1)) then
  34.     Result:=False//如果不含有字符'@',或者其个数大于1,则不合法
  35.    else
  36.    begin
  37.     if ((TempStr [1]='@')or (TempStr [length(TempStr)]='@')) then
  38.      Result:=False//如果字符'@'的位置在字符串开头或者末尾,则不合法
  39.     else
  40.     begin
  41.      I:=pos('@',TempStr);//获取字符'@'在字符串当中的位置
  42.      delete(TempStr,1,I);//获取字符串中字符'@'后面的剩余子串
  43.      if (Length(TempStr)<3) then
  44.       Result:=False       //如果剩余子串的长度小于3,则不合法
  45.      else
  46.      begin
  47.       if ((pos('.',TempStr)=0)or(pos('.',TempStr)=length(TempStr))
  48.           or (pos('.',TempStr)=1))then
  49.        Result:=False//如果剩余的子串当中不含有字符'.',或者其位置在//子串的开头或者末尾,则不合法
  50.       else
  51.        Result:=True;      //以上的判断都通过,则表示地址字符串为合法
  52.      end; 
  53.     end;
  54.    end; 
  55.  end;
  56. procedure TForm1.Button1Click(Sender: TObject);
  57. begin
  58.  if (Edit1.Text<>'')then
  59.   begin
  60.    if IsVaildEmailAddr(Edit1.Text) then
  61.     ShowMessage('您输入的电子邮件地址格式合法!')
  62.    else
  63.     ShowMessage('您输入的电子邮件地址格式不合法!'); 
  64.   end;
  65. end;
  66. end.