判断E-Mail的合法性

unit mainunit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function IsVaildEmailAddr(EmailAddr:String):boolean;
var
 Number,I:integer;  //Number用于给字符'@'计数
 TempStr:String;
begin
 TempStr:=EmailAddr;
 Number:=0;
 for I:=1 to Length(TempStr) do
   begin
     if (TempStr [I]='@') then
       INC(Number);
   end;
   if ((Number =0)or(Number >1)) then
    Result:=False//如果不含有字符'@',或者其个数大于1,则不合法
   else
   begin
    if ((TempStr [1]='@')or (TempStr [length(TempStr)]='@')) then
     Result:=False//如果字符'@'的位置在字符串开头或者末尾,则不合法
    else
    begin
     I:=pos('@',TempStr);//获取字符'@'在字符串当中的位置
     delete(TempStr,1,I);//获取字符串中字符'@'后面的剩余子串
     if (Length(TempStr)<3) then
      Result:=False       //如果剩余子串的长度小于3,则不合法
     else
     begin
      if ((pos('.',TempStr)=0)or(pos('.',TempStr)=length(TempStr))
          or (pos('.',TempStr)=1))then
       Result:=False//如果剩余的子串当中不含有字符'.',或者其位置在//子串的开头或者末尾,则不合法
      else
       Result:=True;      //以上的判断都通过,则表示地址字符串为合法
     end;
    end;
   end;
 end;


procedure TForm1.Button1Click(Sender: TObject);
begin
 if (Edit1.Text<>'')then
  begin
   if IsVaildEmailAddr(Edit1.Text) then
    ShowMessage('您输入的电子邮件地址格式合法!')
   else
    ShowMessage('您输入的电子邮件地址格式不合法!');
  end;
end;

end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值