delphi 手机号/Email/传真号验证有效性

//Email验证
function TDeptCaptionFrm.EMailAddCheck(EmailAdd: string; var Errorcode: string): Boolean;

  function CheckAt(s: string): integer;
  var
    num, t: integer;
  begin
    num := 0;
    t := pos('@', s);
    while t <> 0 do
    begin
      inc(num);
      s := copy(s, t + 1, length(s) - t);
      t := pos('@', s);
    end;
    result := num;
  end;

var
  i, j: integer;
  str: string;
begin
  i := pos('@', EmailAdd);
  str := Copy(EmailAdd, i + 1, length(EmailAdd) - i);
  j := pos('.', str);
  result := false;
  if i = 0 then
    Errorcode := '地址串中缺少"@"'
  else if i = 1 then
    Errorcode := '第一位是"@",即缺少用户名'
  else if i = Length(EmailAdd) then
    Errorcode := '最后一位是"@",即缺少服务器名'
  else if j = 0 then
    Errorcode := '服务器名中缺少"."'
  else if (j = 1) or (j = length(str)) then
    Errorcode := '用户名第一位或最后一位是"."'
  else if CheckAt(EmailAdd) > 1 then
    Errorcode := '有多个"@"'
  else
    result := true;
end;

 

//手机号验证
function TDeptCaptionFrm.IsMobileNumber(num: string): boolean;
begin
  Result := False;
  if length(trim(num)) <> 11 then
    Exit;
  if ((copy(num, 1, 2) <> '13') and (copy(num, 1, 2) <> '15')
  and (copy(num, 1, 2) <> '18') and (copy(num, 1, 2) <> '17')) then
    Exit;
  try
    StrToInt(copy(num, 3, 9));
    Result := True;
  except
  end;
end;

 

//座机号验证
function TDeptCaptionFrm.isTelNo(sValue: string): Boolean;
var
  i,m,n: Integer;
  sBegin,sEnd: string;
  sList: TStringList;
begin
  Result := False;
  m := Pos('-',sValue);
  if m = 0 then Exit;
  sBegin := Copy(sValue,1,m-1);
  sEnd := Copy(sValue,m+1,Length(sValue)-m);

  if Length(sBegin) > 5 then Exit;
  if Length(sEnd) > 8 then Exit;
  //判断纯数字
  for i := 0 to Length(sBegin)-1 do
  begin
    if not (sBegin[i+1] in ['0'..'9']) then
      Exit;
  end;
  for i := 0 to Length(sEnd)-1 do
  begin
    if not (sEnd[i+1] in ['0'..'9']) then
      Exit;
  end;

  sList := TStringList.Create;
  try
    sList.Add('010');
    sList.Add('020');
    sList.Add('021');
    sList.Add('022');
    sList.Add('023');
    sList.Add('024');
    sList.Add('025');
    sList.Add('027');
    sList.Add('028');
    sList.Add('029');
    sList.Add('0310');
    sList.Add('0311');
    sList.Add('0312');
    sList.Add('0313');
    sList.Add('0314');
    sList.Add('0315');
    sList.Add('0316');
    sList.Add('0317');
    sList.Add('0318');
    sList.Add('0319');
    sList.Add('0335');
    sList.Add('0349');
    sList.Add('0350');
    sList.Add('0351');
    sList.Add('0352');
    sList.Add('0353');
    sList.Add('0354');
    sList.Add('0355');
    sList.Add('0356');
    sList.Add('0357');
    sList.Add('0358');
    sList.Add('0359');
    sList.Add('0370');
    sList.Add('0371');
    sList.Add('0372');
    sList.Add('0373');
    sList.Add('0374');
    sList.Add('0375');
    sList.Add('0376');
    sList.Add('0377');
    sList.Add('0378');
    sList.Add('0379');
    sList.Add('0391');
    sList.Add('0392');
    sList.Add('0393');
    sList.Add('0394');
    sList.Add('0395');
    sList.Add('0396');
    sList.Add('0397');
    sList.Add('0398');
    sList.Add('0410');
    sList.Add('0411');
    sList.Add('0412');
    sList.Add('0413');
    sList.Add('0414');
    sList.Add('0415');
    sList.Add('0416');
    sList.Add('0417');
    sList.Add('0418');
    sList.Add('0419');
    sList.Add('0421');
    sList.Add('0423');
    sList.Add('0427');
    sList.Add('0429');
    sList.Add('0431');
    sList.Add('0432');
    sList.Add('0433');
    sList.Add('0434');
    sList.Add('0435');
    sList.Add('0436');
    sList.Add('0437');
    sList.Add('0438');
    sList.Add('0439');
    sList.Add('0440');
    sList.Add('0451');
    sList.Add('0452');
    sList.Add('0453');
    sList.Add('0454');
    sList.Add('0455');
    sList.Add('0456');
    sList.Add('0457');
    sList.Add('0458');
    sList.Add('0459');
    sList.Add('0464');
    sList.Add('0467');
    sList.Add('0468');
    sList.Add('0469');
    sList.Add('0470');
    sList.Add('0471');
    sList.Add('0472');
    sList.Add('0473');
    sList.Add('0474');
    sList.Add('0475');
    sList.Add('0476');
    sList.Add('0477');
    sList.Add('0478');
    sList.Add('0479');
    sList.Add('0482');
    sList.Add('0483');
    sList.Add('0510');
    sList.Add('0511');
    sList.Add('0512');
    sList.Add('0513');
    sList.Add('0514');
    sList.Add('0515');
    sList.Add('0516');
    sList.Add('0517');
    sList.Add('0518');
    sList.Add('0519');
    sList.Add('0520');
    sList.Add('0523');
    sList.Add('0527');
    sList.Add('0530');
    sList.Add('0531');
    sList.Add('0532');
    sList.Add('0533');
    sList.Add('0534');
    sList.Add('0535');
    sList.Add('0536');
    sList.Add('0537');
    sList.Add('0538');
    sList.Add('0539');
    sList.Add('0543');
    sList.Add('0546');
    sList.Add('0550');
    sList.Add('0551');
    sList.Add('0552');
    sList.Add('0553');
    sList.Add('0554');
    sList.Add('0555');
    sList.Add('0556');
    sList.Add('0557');
    sList.Add('0558');
    sList.Add('0559');
    sList.Add('0561');
    sList.Add('0562');
    sList.Add('0563');
    sList.Add('0564');
    sList.Add('0565');
    sList.Add('0566');
    sList.Add('0570');
    sList.Add('0571');
    sList.Add('0572');
    sList.Add('0573');
    sList.Add('0574');
    sList.Add('0575');
    sList.Add('0576');
    sList.Add('0577');
    sList.Add('0578');
    sList.Add('0579');
    sList.Add('0580');
    sList.Add('0591');
    sList.Add('0592');
    sList.Add('0593');
    sList.Add('0594');
    sList.Add('0595');
    sList.Add('0596');
    sList.Add('0597');
    sList.Add('0598');
    sList.Add('0599');
    sList.Add('0631');
    sList.Add('0632');
    sList.Add('0633');
    sList.Add('0634');
    sList.Add('0635');
    sList.Add('0660');
    sList.Add('0662');
    sList.Add('0663');
    sList.Add('0668');
    sList.Add('0691');
    sList.Add('0692');
    sList.Add('0701');
    sList.Add('0710');
    sList.Add('0711');
    sList.Add('0712');
    sList.Add('0713');
    sList.Add('0714');
    sList.Add('0715');
    sList.Add('0716');
    sList.Add('0717');
    sList.Add('0718');
    sList.Add('0719');
    sList.Add('0722');
    sList.Add('0724');
    sList.Add('0728');
    sList.Add('0730');
    sList.Add('0731');
    sList.Add('0732');
    sList.Add('0733');
    sList.Add('0734');
    sList.Add('0735');
    sList.Add('0736');
    sList.Add('0737');
    sList.Add('0738');
    sList.Add('0739');
    sList.Add('0743');
    sList.Add('0744');
    sList.Add('0745');
    sList.Add('0746');
    sList.Add('0750');
    sList.Add('0751');
    sList.Add('0752');
    sList.Add('0753');
    sList.Add('0754');
    sList.Add('0755');
    sList.Add('0756');
    sList.Add('0757');
    sList.Add('0758');
    sList.Add('0759');
    sList.Add('0760');
    sList.Add('0762');
    sList.Add('0763');
    sList.Add('0766');
    sList.Add('0768');
    sList.Add('0769');
    sList.Add('0770');
    sList.Add('0771');
    sList.Add('0772');
    sList.Add('0773');
    sList.Add('0774');
    sList.Add('0775');
    sList.Add('0776');
    sList.Add('0777');
    sList.Add('0778');
    sList.Add('0779');
    sList.Add('0790');
    sList.Add('0791');
    sList.Add('0792');
    sList.Add('0793');
    sList.Add('0794');
    sList.Add('0795');
    sList.Add('0796');
    sList.Add('0797');
    sList.Add('0798');
    sList.Add('0799');
    sList.Add('08018');
    sList.Add('08059');
    sList.Add('0812');
    sList.Add('0813');
    sList.Add('0816');
    sList.Add('0817');
    sList.Add('0818');
    sList.Add('0825');
    sList.Add('0826');
    sList.Add('0827');
    sList.Add('0830');
    sList.Add('0831');
    sList.Add('0832');
    sList.Add('0833');
    sList.Add('0834');
    sList.Add('0835');
    sList.Add('0836');
    sList.Add('0837');
    sList.Add('0838');
    sList.Add('0839');
    sList.Add('0851');
    sList.Add('0852');
    sList.Add('0853');
    sList.Add('0854');
    sList.Add('0855');
    sList.Add('0856');
    sList.Add('0857');
    sList.Add('0858');
    sList.Add('0859');
    sList.Add('0870');
    sList.Add('0871');
    sList.Add('0872');
    sList.Add('0873');
    sList.Add('0874');
    sList.Add('0875');
    sList.Add('0876');
    sList.Add('0877');
    sList.Add('0878');
    sList.Add('0879');
    sList.Add('0883');
    sList.Add('0886');
    sList.Add('0887');
    sList.Add('0888');
    sList.Add('0890');
    sList.Add('0891');
    sList.Add('0892');
    sList.Add('0893');
    sList.Add('0894');
    sList.Add('0895');
    sList.Add('0896');
    sList.Add('0897');
    sList.Add('0898');
    sList.Add('0899');
    sList.Add('0901');
    sList.Add('0902');
    sList.Add('0903');
    sList.Add('0906');
    sList.Add('0908');
    sList.Add('0909');
    sList.Add('0911');
    sList.Add('0912');
    sList.Add('0913');
    sList.Add('0914');
    sList.Add('0915');
    sList.Add('0916');
    sList.Add('0917');
    sList.Add('0919');
    sList.Add('0930');
    sList.Add('0931');
    sList.Add('0932');
    sList.Add('0933');
    sList.Add('0934');
    sList.Add('0935');
    sList.Add('0936');
    sList.Add('0937');
    sList.Add('0938');
    sList.Add('0939');
    sList.Add('0941');
    sList.Add('0943');
    sList.Add('0951');
    sList.Add('0952');
    sList.Add('0953');
    sList.Add('0954');
    sList.Add('0955');
    sList.Add('0970');
    sList.Add('0971');
    sList.Add('0972');
    sList.Add('0973');
    sList.Add('0974');
    sList.Add('0975');
    sList.Add('0976');
    sList.Add('0977');
    sList.Add('0979');
    sList.Add('0990');
    sList.Add('0991');
    sList.Add('0992');
    sList.Add('0993');
    sList.Add('0994');
    sList.Add('0995');
    sList.Add('0996');
    sList.Add('0997');
    sList.Add('0998');
    sList.Add('0999');
    sList.Add('00852');
    sList.Add('00853');
    sList.Add('00886');
    if sList.IndexOf(sBegin)=-1 then Exit;
    Result := True;
  finally
    FreeAndNil(sList);
  end;
end;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值