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 Free Pascal suivant, vous trouverez la réponse que vous souhaitez :

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