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