Section courante

A propos

Section administrative du site

Devant la problématique des bases de données bombardés de données invalides, il devient de plus en plus nécessaires de vérifier si une extension de nom de domaine est valide. Un des endroits de plus en plus communs pour tester la validation des extensions de noms de domaine est bien sur dans les courriels, et les services Web. La technique la plus simple pour vérifier si l'extension de noms de domaine existe, c'est de les vérifier une par une dans une table. A l'aide du code source Delphi suivant, vous trouverez la réponse que vous souhaitez :

  1. Program IsExtDomainValidSource;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. Uses SysUtils;
  6.  
  7. Function IsExtDomainValid(DomainName:String):Boolean;
  8. Const ListExt: Array[0..256] of PChar=(
  9.                 '.ab.ca','.ac','.ad','.ae','.aero','.af','.ag','.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw','.az',
  10.                 '.ba','.bb','.bc.ca','.bd','.be','.bf','.bg','.bh','.bi','.biz','.bj','.bj','.bm','.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz',
  11.                 '.ca','.cat','.cc','.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.co.me','.com','.coop','.cr','.cu','.cv','.cx','.cy','.cz',
  12.                 '.de','.dj','.dk','.dm','.do','.dz',
  13.                 '.ec','.edu','.ee','.eg','.eh','.er','.es','.et',
  14.                 '.fi','.fj','.fk','.fm','.fo','.fr','.fx',
  15.                 '.ga','.gb','.gc.ca','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm','.gn','.gov','.gov.me','.gp','.gq','.gr','.gs','.gt','.gu','.gw','.gy',
  16.                 '.hk','.hm','.hn','.hr',
  17.                 '.info','.int',
  18.                 '.jobs',
  19.                 '.kw','.ky','.kz',
  20.                 '.la','.lb','.lc','.li','.lk','.lr','.ls','.lt','.lu','.lv','.ly',
  21.                 '.ma','.mb.ca','.mc','.md','.me','.mg','.mh','.mk','.ml','.mm','.mn','.mo','.mobi','.mp','.mq','.mr','.ms','.mt','.mu','.museum','.mv','.mw','.mx','.my','.mz',
  22.                 '.na','.name','.nb.ca','.nc','.ne','.net','.nf','.ng','.ni','.nl','.nl.ca','.no','.np','.nr','.ns.ca','.nt.ca','.nu','.nu.ca','.nz',
  23.                 '.om','.on.ca','.org',
  24.                 '.pa','.pe','.pe.ca','.pf','.pg','.ph','.pk','.pl','.pm','.pn','.pr','.pro','.ps','.pt','.pw','.py',
  25.                 '.qa','.qc.ca',
  26.                 '.re','.ro','.ru','.rw',
  27.                 '.sa','.sb','.sc','.sd','.se','.sg','.sh','.si','.sj','.sk','.sk.ca','.sl','.sm','.sn','.so','.sr','.st','.sv','.sy','.sz',
  28.                 '.tc','.td','.tel','.tf','.tg','.th','.tj','.tk','.tm','.tn','.to','.tp','.tr','.travel','.tt','.tv','.tw','.tz',
  29.                 '.ua','.ug','.uk','.um','.us','.uy','.uz',
  30.                 '.va','.vc','.ve','.vg','.vi','.vn','.vu',
  31.                 '.wf','.ws',
  32.                 '.ye',
  33.                 '.yk.ca','.yt','.yu',
  34.                 '.za','.zm','.zw'
  35.         );
  36. Var
  37.  I:Integer;
  38. Begin
  39.  IsExtDomainValid := False;
  40.  If('' = DomainName)Then Exit;
  41.  For I := 0 to High(ListExt) do Begin
  42.   If(StrPas(ListExt[I]) = Copy(DomainName,Length(DomainName)-StrLen(ListExt[I])+1,StrLen(ListExt[I])))Then Begin
  43.    IsExtDomainValid := True;
  44.   End;
  45.  End;        
  46. End;
  47.     
  48. BEGIN 
  49.  WriteLn('domain.ext = ',IsExtDomainValid('domain.ext'));
  50.  WriteLn('domain.ca = ',IsExtDomainValid('domain.ca'));
  51.  WriteLn('moncourriel@gladir.com = ',IsExtDomainValid('moncourriel@gladir.com'));
  52.  WriteLn('moncourriel@gladir.com.dev = ',IsExtDomainValid('moncourriel@gladir.com.dev')); 
  53. END.

on obtiendra le résultat suivant :

domain.ext = FALSE
domain.ca = TRUE
moncourriel@gladir.com = TRUE
moncourriel@gladir.com.dev = FALSE


Dernière mise à jour : Dimanche, le 17 août 2014