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 PHP suivant, vous trouverez la réponse que vous souhaitez :
- <?php
- function IsExtDomainValid($DomainName) {
- $ListExt = array(
- ".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"
- );
- if("" == $DomainName) return false;
- for($I = 0; $I < count($ListExt); $I++) {
- if($ListExt[$I] == substr($DomainName,strlen($DomainName)-strlen($ListExt[$I]))) return true;
- }
- return false;
- }
-
- echo "domain.ext = " . (IsExtDomainValid("domain.ext")?"true":"false") . "<br />";
- echo "domain.ca = " . (IsExtDomainValid("domain.ca")?"true":"false") . "<br />";
- echo "moncourriel@gladir.com = " . (IsExtDomainValid("moncourriel@gladir.com")?"true":"false") . "<br />";
- echo "moncourriel@gladir.com.dev = " . (IsExtDomainValid("moncourriel@gladir.com.dev")?"true":"false") . "<br />";
- ?>
on obtiendra le résultat suivant :
domain.ext = falsedomain.ca = true
moncourriel@gladir.com = true
moncourriel@gladir.com.dev = false
Dernière mise à jour : Mardi, le 20 octobre 2009