UNIX,Linux,Retele,Programare
Homespacer Tutorialespacer Forumspacer Utilizatorispacer Cautarespacer Webmailspacer Director web


Validare domeniu

Scris de Agkelos

Verifica daca un domeniu e valid. Am adaugat lista tuturor TLD-urilor si a SLD-urilor cunoscute. Poate am omis vreunul. Daca gasiti vreun TLD sau SLD care nu e prezent va rog sa postati aici ca sa pot corecta.

Functia returneaza True daca domeniul e valid sau False daca nu e valid.

function validDomain($domeniu){
// Lista TLD-urilor si a SLD-urilor
$tldList = array(’.aero’,’.biz’,’.cat’,’.com’,’.coop’,’.edu’,’.eu’,’.gov’,’.info’,’.int’,
‘.jobs’,’.mil’,’.mobi’,’.museum’,’.name’,’.net’,’.org’,’.pro’,’.travel’,
‘.ac’,’.af’,’.ag’,’.am’,’.as’,’.ac.at’,’.co.at’,’.go.at’,’.or.at’,’.at’,
‘.asn.au’,’.com.au’,’.edu.au’,’.id.au’,’.net.au’,’.org.au’,’.ac.be’,’.be’,
‘.bg’,’.agr.br;’,’.am.br’,’.art.br’,’.com.br’,’.coop.br’,’.esp.br’,’.etc.br’,
‘.far.br’,’.fm.br’,’.g12.br’,’.gov.br’,’.imb.br’,’.ind.br’,’.inf.br’,
‘.mil.br’,’.net.br’,’.org.br’,’.psi.br’,’.rec.br’,’.srv.br’,’.tmp.br’,
‘.tur.br’,’.tv.br’,’.edu.br’,’.nom.br’,’.adm.br’,’.adv.br’,’.arq.br’,
‘.ato.br’,’.bio.br’,’.bmd.br’,’.cim.br’,’.cng.br’,’.cnt.br’,’.ecn.br’,
‘.eng.br’,’.eti.br’,’.fnd.br’,’.fot.br’,’.fst.br’,’.ggf.br’,’.jor.br’,
‘.lel.br’,’.mat.br’,’.med.br’,’.mus.br’,’.not.br’,’.ntr.br’,’.odo.br’,
‘.ppg.br’,’.pro.br’,’.psc.br’,’.qsl.br’,’.trd.br’,’.vet.br’,’.zlg.br’,
‘.br’,’.com.bz’,’.net.bz’,’.org.bz’,’.bz’,’.bc.ca’,’.mb.ca’,’.nb.ca’,
‘.nf.ca’,’.ns.ca’,’.nt.ca’,’.on.ca’,’.pe.ca’,’.qc.ca’,’.sk.ca’,’.yk.ca’,
‘.ca’,’.cc’,’.cd’,’.cl’,’.ch’,’.co.ck’,’.edu.ck’,’.gov.ck’,’.net.ck’,
‘.org.ck’,’.cm’,’.edu.cn’,’.ac.cn’,’.ah.cn’,’.bj.cn’,’.com.cn’,’.cq.cn’,
‘.gd.cn’,’.gov.cn’,’.gs.cn’,’.gx.cn’,’.gz.cn’,’.hb.cn’,’.he.cn’,’.hi.cn’,
‘.hk.cn’,’.hl.cn’,’.hn.cn’,’.jl.cn’,’.js.cn’,’.mo.cn’,’.net.cn’,’.nm.cn’,
‘.nx.cn’,’.ln.cn’,’.org.cn’,’.qh.cn’,’.sc.cn’,’.sh.cn’,’.sn.cn’,’.tj.cn’,
‘.tw.cn’,’.yn.cn’,’.xj.cn’,’.xz.cn’,’.zj.cn’,’.cn’,’.au.com’,’.br.com’,
‘.cn.com’,’.de.com’,’.eu.com’,’.gb.com’,’.hu.com’,’.no.com’,’.qc.com’,
‘.ru.com’,’.sa.com’,’.se.com’,’.se.net’,’.uk.com’,’.uk.net’,’.us.com’,
‘.uy.com’,’.wales.com’,’.za.com’,’.cx’,’.cz’,’.de’,’.dj’,’.dk’,’.dm’,
‘.com.ee’,’.pri.ee’,’.fie.ee’,’.org.ee’,’.med.ee’,’.ee’,’.fi’,’.ac.fj’,
‘.biz.fj’,’.com.fj’,’.gov.fj’,’.info.fj’,’.mil.fj’,’.name.fj’,’.net.fj’,
‘.org.fj’,’.pro.fj’,’.school.fj’,’.fm’,’.fo’,’.asso.fr’,’.com.fr’,’.nom.fr’,
‘.prd.fr’,’.presse.fr’,’.tm.fr’,’.fr’,’.co.gg’,’.gov.gg’,’.net.gg;’,
‘.org.gg’,’.sch.gg’,’.gg’,’.gl’,’.gm’,’.gr’,’.co.gr’,’.com.gr’,’.net.gr’,
‘.edu.gr’,’.gov.gr’,’.org.gr’,’.gs’,’.com.hk’,’.edu.hk’,’.gov.hk’,
‘.net.hk’,’.org.hk’,’.hk’,’.hm’,’.co.hu’,’.info.hu’,’.org.hu’,’.priv.hu’,
‘.sport.hu’,’.tm.hu’,’.hu’,’.war.net.id’,’.web.id’,’.sch.id’,’.go.id’,
‘.ac.id’,’.co.id’,’.or.id’,’.net.id’,’.mil.id’,’.ie’,’.ac.il’,’.co.il’,
‘.gov.il’,’.idf.il’,’.k12.il’,’.muni.il’,’.net.il’,’.org.il’,’.co.in’,
‘.net.in’,’.org.in’,’.gen.in’,’.firm.in’,’.ind.in’,’.in’,’.io’,’.ac.ir’,
‘.co.ir’,’.gov.ir’,’.id.ir’,’.net.ir’,’.org.ir’,’.sch.ir’,’.ir’,’.is’,
‘.it’,’.je’,’.ac.jp’,’.ad.jp’,’.co.jp’,’.ed.jp’,’.go.jp’,’.ne.jp’,’.or.jp’,
‘.geo.jp’,’.jp’,’.ac.ke’,’.co.ke’,’.go.ke’,’.ne.ke’,’.or.ke’,’.sc.ke’,
‘.ac.kr’,’.co.kr’,’.go.kr’,’.ne.kr’,’.or.kr’,’.pe.kr’,’.re.kr’,’.seoul.kr’,
‘.kyonggi.kr’,’.la’,’.li’,’.lt’,’.lu’,’.asn.lv’,’.com.lv’,’.conf.lv’,’.edu.lv’,
‘.gov.lv’,’.id.lv’,’.mil.lv’,’.net.lv’,’.org.lv’,’.lv’,’.tm.mc’,’.asso.mc’,
‘.mc’,’.mn’,’.ms’,’.com.mt’,’.edu.mt’,’.net.mt’,’.org.mt’,’.tm.mt’,’.uu.mt’,
‘.mt’,’.com.mx’,’.edu.mx’,’.gob.mx’,’.net.mx’,’.org.mx’,’.mx’,’.com.my’,
‘.net.my’,’.org.my’,’.gov.my’,’.edu.my’,’.mil.my’,’.my’,’.com.na’,’.org.na’,
‘.alt.na’,’.co.na’,’.edu.na’,’.net.na’,’.gb.net’,’.wales.net’,’.za.net’,’.nf’,
‘.nl’,’.no’,’.nu’,’.ac.nz’,’.co.nz’,’.cri.nz’,’.gen.nz’,’.govt.nz’,’.iwi.nz’,
‘.net.nz’,’.org.nz’,’.mil.nz’,’.school.nz’,’.eu.org’,’.gb.org’,’.wales.org’,
‘.za.org’,’.biz.pl’,’.com.pl’,’.net.pl’,’.org.pl’,’.info.pl’,’.pl’,’.pm’,’.pt’,
‘.com.pt’,’.nome.pt’,’.pt’,’.arts.ro’,’.com.ro’,’.firm.ro’,’.info.ro’,’.nom.ro’,
‘.nt.ro’,’.org.ro’,’.rec.ro’,’.store.ro’,’.tm.ro’,’.www.ro’,’.ro’,’.com.ru’,
‘.net.ru’,’.org.ru’,’.ru’,’.com.sa’,’.edu.sa’,’.gov.sa’,’.med.sa’,’.net.sa’,
‘.org.sa’,’.pub.sa’,’.sch.sa’,’.pp.se’,’.press.se’,’.org.se’,’.se’,’.com.sg’,
‘.edu.sg’,’.gov.sg’,’.net.sg’,’.org.sg’,’.per.sg’,’.com.sh’,’.co.sh’,’.net.sh’,
‘.org.sh’,’.edu.sh’,’.gov.sh’,’.mil.sh’,’.sh’,’.si’,’.sk’,’.sm’,’.st’,’.su’,
‘.tc’,’.tf’,’.ac.th’,’.co.th’,’.go.th’,’.in.th’,’.mi.th’,’.net.th’,’.or.th’,
‘.tj’,’.tk’,’.tl’,’.tm’,’.to’,’.tp’,’.bbs.tr’,’.com.tr’,’.edu.tr’,’.gen.tr’,
‘.gov.tr’,’.k12.tr’,’.mil.tr’,’.net.tr’,’.nom.tr’,’.org.tr’,’.web.tr’,’.tv’,
‘.com.tw’,’.idv.tw’,’.net.tw’,’.org.tw’,’.ua’,’.ug’,’.co.ug’,’.or.ug’,’.ac.ug’,
‘.sc.ug’,’.go.ug’,’.ne.ug’,’.org.ug’,’.mil.ug’,’.ac.uk’,’.co.uk’,’.gov.uk’,
‘.ltd.uk’,’.me.uk’,’.net.uk’,’.org.uk’,’.plc.uk’,’.sch.uk’,’.us’,’.uz’,’.va’,
‘.co.ve’,’.com.ve’,’.net.ve’,’.web.ve’,’.nom.ve’,’.firm.ve’,’.store.ve’,
‘.rec.ve’,’.info.ve’,’.org.ve’,’.ve’,’.vg’,’.com.ws’,’.edu.ws’,’.gov.ws’,
‘.net.ws’,’.org.ws’,’.ws’,’.co.za’);
// Returneaza true daca e domeniu valid
// Returneaza false daca nu e domeniu valid
$tldOK = False;

foreach( $tldList as $tld ){
// Prima data verificam sa aiba un TLD valid
$reg = ‘^([a-z]{1,64}[a-z0-9-]{1,64})’.$tld.’$';
if( eregi($reg,$domeniu,$regs) ){ $tldOK = True; break; }
}

if( !$tldOK ){
return False;
} else {
// Daca se gaseste un punct in nume, e subdomeniu nu domeniu
if( strpos($regs[1],’.') ) return False;
else return True;
}
}

Categoria: PHP Snipets

 
© 2008 SkullBox, all rights reserved