Skip to content

Instantly share code, notes, and snippets.

@fliptopbox
Created October 14, 2013 22:12
Show Gist options
  • Save fliptopbox/6983126 to your computer and use it in GitHub Desktop.
Save fliptopbox/6983126 to your computer and use it in GitHub Desktop.
Javascript Top Level Domain (TLD) Utility
/*jslint bitwise: true, eqeq: true, sloppy:true, white:true, passfail: false, nomen: false, plusplus: false, undef: true, evil: true */
/*global window, setTimeout, document, console, $, jQuery, self */
/*
An object to return the domain name, taking into account
the various top-level-domains (TLD) and second-level-domains (SLD)
as maintained by mozilla (see: https://wiki.mozilla.org/TLD_List)
this list was last modified on 11 January 2010, at 09:32
USAGE:
TLD.domain(); // parses window.location.hostname
TLD.domain('dev.www.mydomain.no'); // mydomain
TLD.hostname(); // sets hostname to window.location.hostname
TLD.hostname('mydomain.com'); // sets hostname to mydmain.com
TLD.list; // returns JSON Object of TLD list
TLD.list.UK; // returns 'UK' segement of TLD list
*/
(function () {
var TLD = {
/* Add your own TLD for localhost use */
'LOCAL': ['A', ''], // eg. mycomputer.local
/*
Official TLD an SLD
'TLD': ['TYPE', 'VARIANTS']
TLD Types:
- A Only second level domains (eg. *.com, *.nl)
- B Only third level domains (eg. *.co.uk)
- C Mixed level domains (e.g. *.be, *.ac.be)
- D Other (5)
- E Unknown/undecided (59)
*/
'AC': ['C', 'com.ac edu.ac gov.ac net.ac mil.ac org.ac'],
'AD': ['C', 'ad nom.ad'],
'AE': ['C', 'ae net.ae gov.ae org.ae mil.ae sch.ae ac.ae pro.ae name.ae'],
'AERO': ['A', 'aero'],
'AF': ['C', 'af gov.af edu.af net.af com.af'],
'AG': ['C', 'ag com.ag org.ag net.ag co.ag nom.ag'],
'AI': ['C', 'ai off.ai com.ai net.ai org.ai'],
'AL': ['C', 'gov.al edu.al org.al com.al net.al uniti.al tirana.al soros.al upt.al inima.al'],
'AM': ['A', 'am'],
'AN': ['C', 'an com.an net.an org.an edu.an'],
'AO': ['B', 'co.ao ed.ao gv.ao it.ao og.ao pb.ao'],
'AQ': ['E', ''],
'AR': ['B', 'com.ar gov.ar int.ar mil.ar net.ar org.ar'],
'ARPA': ['B', ''],
'AS': ['A', 'as'],
'AT': ['C', 'at gv.at ac.at co.at or.at priv.at'],
'AU': ['D', 'asn.au com.au net.au id.au org.au csiro.au oz.au info.au conf.au act.au nsw.au nt.au qld.au sa.au tas.au vic.au wa.au For .gov.au edu.au - act nsw nt qld sa tas vic wa'],
'AW': ['C', 'aw com.aw'],
'AX': ['A', 'ax'],
'AZ': ['C', 'az com.az net.az int.az gov.az biz.az org.az edu.az mil.az pp.az name.az info.az'],
'BA': ['C', ''],
'BB': ['C', 'com.bb edu.bb gov.bb net.bb org.bb'],
'BD': ['B', 'com.bd edu.bd net.bd gov.bd org.bd mil.bd'],
'BE': ['C', 'ac.be'],
'BF': ['C', 'gov.bf'],
'BG': ['A', ''],
'BH': ['C', ''],
'BI': ['C', ''],
'BIZ': ['A', ''],
'BJ': ['C', ''],
'BM': ['C', 'com.bm edu.bm org.bm gov.bm net.bm'],
'BN': ['B', 'com.bn edu.bn org.bn net.bn'],
'BO': ['C', 'bo com.bo org.bo net.bo gov.bo gob.bo edu.bo tv.bo mil.bo int.bo'],
'BR': ['B', 'agr.br am.br art.br edu.br com.br coop.br esp.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 etc.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 slg.br trd.br vet.br zlg.br dpn.br nom.br'],
'BS': ['C', 'bs com.bs net.bs org.bs'],
'BT': ['C', 'bt com.bt edu.bt gov.bt net.bt org.bt'],
'BV': ['E', ''],
'BW': ['C', 'bw co.bw org.bw'],
'BY': ['C', 'gov.by mil.by'],
'BZ': ['C', ''],
'CA': ['C', 'ca ab.ca bc.ca mb.ca nb.ca nf.ca nl.ca ns.ca nt.ca nu.ca on.ca pe.ca qc.ca sk.ca yk.ca'],
'CAT': ['A', ''],
'CC': ['C', 'cc co.cc'],
'CD': ['C', 'cd com.cd net.cd org.cd'],
'CF': ['A', ''],
'CG': ['E', ''],
'CH': ['C', ''],
'CI': ['E', ''],
'CK': ['C', 'co.ck'],
'CL': ['A', ''],
'CM': ['E', ''],
'CN': ['C', 'cn ac.cn com.cn edu.cn gov.cn net.cn org.cn ah.cn bj.cn cq.cn fj.cn gd.cn gs.cn gz.cn gx.cn ha.cn hb.cn he.cn hi.cn hl.cn hn.cn jl.cn js.cn jx.cn ln.cn nm.cn nx.cn qh.cn sc.cn sd.cn sh.cn sn.cn sx.cn tj.cn xj.cn xz.cn yn.cn zj.cn'],
'CO': ['B', 'com.co edu.co org.co gov.co mil.co net.co nom.co'],
'COM': ['A', ''],
'COOP': ['C', ''],
'CR': ['B', 'ac.cr co.cr ed.cr fi.cr go.cr or.cr sa.cr'],
'CU': ['C', 'cu com.cu edu.cu org.cu net.cu gov.cu inf.cu'],
'CV': ['E', ''],
'CX': ['C', 'cx gov.cx'],
'CY': ['B', 'com.cy biz.cy info.cy ltd.cy pro.cy net.cy org.cy name.cy tm.cy ac.cy ekloges.cy press.cy parliament.cy'],
'CZ': ['A', ''],
'DE': ['M', ''],
'DJ': ['E', ''],
'DK': ['A', ''],
'DM': ['C', 'dm com.dm net.dm org.dm edu.dm gov.dm'],
'DO': ['B', 'edu.do gov.do gob.do com.do org.do sld.do web.do net.do mil.do art.do'],
'DZ': ['C', 'dz com.dz org.dz net.dz gov.dz edu.dz asso.dz pol.dz art.dz'],
'EC': ['C', 'ec com.ec info.ec net.ec fin.ec med.ec pro.ec org.ec edu.ec gov.ec mil.ec'],
'EDU': ['A', ''],
'EE': ['C', 'ee com.ee org.ee fie.ee pri.ee'],
'EG': ['B', 'eun.eg edu.eg sci.eg gov.eg com.eg org.eg net.eg mil.eg'],
'ER': ['E', ''],
'ES': ['C', 'es com.es nom.es org.es gob.es edu.es'],
'ET': ['B', 'com.et gov.et org.et edu.et net.et biz.et name.et info.et'],
'EU': ['A', ''],
'FI': ['C', 'fi aland.fi'],
'FJ': ['B', 'biz.fj com.fj info.fj name.fj net.fj org.fj pro.fj ac.fj gov.fj mil.fj school.fj'],
'FK': ['B', 'co.fk org.fk gov.fk ac.fk nom.fk net.fk'],
'FM': ['E', ''],
'FO': ['E', ''],
'FR': ['C', 'fr tm.fr asso.fr nom.fr prd.fr presse.fr com.fr gouv.fr'],
'GA': ['E', ''],
'GB': ['E', ''],
'GD': ['E', ''],
'GE': ['C', 'ge com.ge edu.ge gov.ge org.ge mil.ge net.ge pvt.ge'],
'GF': ['E', ''],
'GG': ['C', 'gg co.gg net.gg org.gg'],
'GH': ['B', 'com.gh edu.gh gov.gh org.gh mil.gh'],
'GI': ['C', 'gi com.gi ltd.gi gov.gi mod.gi edu.gi org.gi'],
'GL': ['A', ''],
'GM': ['A', ''],
'GN': ['B', 'com.gn ac.gn gov.gn org.gn net.gn'],
'GOV': ['A', ''],
'GP': ['C', 'gp com.gp, net.gp, edu.gp, asso.gp, or org.gp'],
'GQ': ['E', ''],
'GR': ['C', 'gr com.gr edu.gr net.gr org.gr gov.gr'],
'GS': ['E', ''],
'GT': ['E', ''],
'GU': ['B', ''],
'GW': ['E', ''],
'GY': ['E', ''],
'HK': ['C', 'hk com.hk edu.hk gov.hk idv.hk net.hk org.hk'],
'HM': ['E', ''],
'HN': ['C', 'hn com.hn edu.hn org.hn net.hn mil.hn gob.hn'],
'HR': ['C', 'hr iz.hr from.hr name.hr com.hr'],
'HT': ['C', 'ht com.ht net.ht firm.ht shop.ht info.ht pro.ht adult.ht org.ht art.ht pol.ht rel.ht asso.ht perso.ht coop.ht med.ht edu.ht gouv.ht'],
'HU': ['C', 'hu co.hu info.hu org.hu priv.hu sport.hu tm.hu 2000.hu agrar.hu bolt.hu casino.hu city.hu erotica.hu erotika.hu film.hu forum.hu games.hu hotel.hu ingatlan.hu jogasz.hu konyvelo.hu lakas.hu media.hu news.hu reklam.hu sex.hu shop.hu suli.hu szex.hu tozsde.hu utazas.hu video.hu'],
'ID': ['B', 'ac.id co.id or.id go.id'],
'IE': ['C', 'ie gov.ie'],
'IL': ['B', 'ac.il co.il org.il net.il k12.il gov.il muni.il idf.il'],
'IM': ['D', 'co.im ltd.co.im plc.co.im net.im gov.im org.im nic.im ac.im'],
'IN': ['C', 'in co.in firm.in net.in org.in gen.in ind.in nic.in ac.in edu.in res.in gov.in mil.in'],
'INFO': ['A', ''],
'INT': ['C', ''],
'IO': ['C', ''],
'IQ': ['E', ''],
'IR': ['C', 'ir ac.ir co.ir gov.ir net.ir org.ir sch.ir'],
'IS': ['C', ''],
'IT': ['D', 'it gov.it'],
'JE': ['C', 'je co.je net.je org.je'],
'JM': ['B', 'edu.jm gov.jm com.jm net.jm org.jm'],
'JO': ['C', 'jo com.jo org.jo net.jo edu.jo gov.jo mil.jo'],
'JOBS': ['E', ''],
'JP': ['D', 'jp ac.jp ad.jp co.jp ed.jp go.jp gr.jp lg.jp ne.jp or.jp Geo-names: hokkaido.jp aomori.jp iwate.jp miyagi.jp akita.jp yamagata.jp fukushima.jp ibaraki.jp tochigi.jp gunma.jp saitama.jp chiba.jp tokyo.jp kanagawa.jp niigata.jp toyama.jp ishikawa.jp fukui.jp yamanashi.jp nagano.jp gifu.jp shizuoka.jp aichi.jp mie.jp shiga.jp kyoto.jp osaka.jp hyogo.jp nara.jp wakayama.jp tottori.jp shimane.jp okayama.jp hiroshima.jp yamaguchi.jp tokushima.jp kagawa.jp ehime.jp kochi.jp fukuoka.jp saga.jp nagasaki.jp kumamoto.jp oita.jp miyazaki.jp kagoshima.jp okinawa.jp sapporo.jp sendai.jp yokohama.jp kawasaki.jp nagoya.jp kobe.jp kitakyushu.jp'],
'KE': ['B', ''],
'KG': ['C', ''],
'KH': ['B', 'per.kh com.kh edu.kh gov.kh mil.kh net.kh org.kh'],
'KI': ['B', ''],
'KM': ['E', ''],
'KN': ['E', ''],
'KR': ['C', 'kr co.kr or.kr'],
'KW': ['B', 'com.kw edu.kw gov.kw net.kw org.kw mil.kw'],
'KY': ['C', 'ky edu.ky gov.ky com.ky org.ky net.ky'],
'KZ': ['B', 'org.kz edu.kz net.kz gov.kz mil.kz com.kz'],
'LA': ['A', ''],
'LB': ['B', 'net.lb org.lb gov.lb edu.lb com.lb'],
'LC': ['B', 'com.lc org.lc edu.lc gov.lc'],
'LI': ['C', ''],
'LK': ['C', 'lk gov.lk sch.lk net.lk int.lk com.lk org.lk edu.lk ngo.lk soc.lk web.lk ltd.lk assn.lk grp.lk hotel.lk'],
'LR': ['B', 'com.lr edu.lr gov.lr org.lr net.lr'],
'LS': ['B', 'org.ls co.ls'],
'LT': ['C', 'lt gov.lt mil.lt'],
'LU': ['C', 'lu gov.lu mil.lu org.lu net.lu'],
'LV': ['C', 'lv com.lv edu.lv gov.lv org.lv mil.lv id.lv net.lv asn.lv conf.lv'],
'LY': ['C', 'ly com.ly net.ly gov.ly plc.ly edu.ly sch.ly med.ly org.ly id.ly'],
'MA': ['C', 'ma co.ma net.ma gov.ma org.ma'],
'MC': ['C', 'mc tm.mc asso.mc'],
'MD': ['E', ''],
'MG': ['C', 'mg org.mg nom.mg gov.mg prd.mg tm.mg com.mg edu.mg mil.mg'],
'MH': ['E', ''],
'MIL': ['C', ''],
'MK': ['C', 'mk com.mk org.mk'],
'ML': ['B', ''],
'MM': ['E', ''],
'MN': ['A', ''],
'MO': ['C', 'mo com.mo net.mo org.mo edu.mo gov.mo'],
'MOBI': ['C', 'weather.mobi music.mobi'],
'MP': ['A', ''],
'MQ': ['A', ''],
'MR': ['E', ''],
'MS': ['E', ''],
'MT': ['C', 'mt org.mt com.mt gov.mt edu.mt net.mt'],
'MU': ['C', 'mu com.mu co.mu'],
'MUSEUM' : [ 'E', ''],
'MV': ['B', 'aero.mv biz.mv com.mv coop.mv edu.mv gov.mv info.mv int.mv mil.mv museum.mv name.mv net.mv org.mv pro.mv'],
'MW': ['B', 'ac.mw co.mw com.mw coop.mw edu.mw gov.mw int.mw museum.mw net.mw org.mw'],
'MX': ['B', 'com.mx net.mx org.mx edu.mx gob.mx'],
'MY': ['B', 'com.my net.my org.my gov.my edu.my mil.my name.my'],
'MZ': ['E', ''],
'NA': ['E', ''],
'NAME': ['C', ''],
'NC': ['E', ''],
'NE': ['E', ''],
'NET': ['A', ''],
'NF': ['E', ''],
'NG': ['B', 'edu.ng com.ng gov.ng org.ng net.ng'],
'NI': ['B', ''],
'NL': ['C', 'nl 000.nl .999.nl'],
'NO': ['C', 'no mil.no stat.no kommune.no herad.no priv.no vgs.no fhs.no museum.no fylkesbibl.no folkebibl.no idrett.no [geo].no gs.[county].no'],
'NP': ['B', 'com.np org.np edu.np net.np gov.np mil.np'],
'NR': ['C', 'nr gov.nr edu.nr biz.nr info.nr nr org.nr com.nr net.nr'],
'NU': ['A', ''],
'NZ': ['B', 'ac.nz co.nz cri.nz gen.nz geek.nz govt.nz iwi.nz maori.nz mil.nz net.nz org.nz school.nz'],
'OM': ['B', 'com.om co.om edu.om ac.com sch.om gov.om net.om org.om mil.om museum.om biz.om pro.om med.om'],
'ORG': ['A', ''],
'PA': ['B', 'com.pa ac.pa sld.pa gob.pa edu.pa org.pa net.pa abo.pa ing.pa med.pa nom.pa'],
'PE': ['B', 'com.pe org.pe net.pe edu.pe mil.pe gob.pe nom.pe'],
'PF': ['C', 'pf com.pf org.pf edu.pf'],
'PG': ['B', 'com.pg net.pg'],
'PH': ['C', 'ph com.ph gov.ph'],
'PK': ['C', 'pk com.pk net.pk edu.pk org.pk fam.pk biz.pk web.pk gov.pk gob.pk gok.pk gon.pk gop.pk gos.pk'],
'PL': ['C', 'pl com.pl biz.pl net.pl art.pl edu.pl org.pl ngo.pl gov.pl info.pl mil.pl Geographic: waw.pl warszawa.pl wroc.pl wroclaw.pl krakow.pl poznan.pl lodz.pl gda.pl gdansk.pl slupsk.pl szczecin.pl lublin.pl bialystok.pl olsztyn.pl.torun.pl <a href="/TLD_List:.pl" title="TLD List:.pl">mor</a>'],
'PM': ['E', ''],
'PN': ['E', ''],
'PR': ['C', 'pr biz.pr com.pr edu.pr gov.pr info.pr isla.pr name.pr net.pr org.pr pro.pr'],
'PRO': ['C', 'law.pro med.pro cpa.pro'],
'PS': ['C', 'ps edu.ps gov.ps sec.ps plo.ps com.ps org.ps net.ps'],
'PT': ['C', 'pt com.pt edu.pt gov.pt int.pt net.pt nome.pt org.pt publ.pt'],
'PW': ['E', ''],
'PY': ['B', 'net.py org.py gov.py edu.py com.py'],
'QA': ['B', ''],
'RE': ['E', ''],
'RO': ['C', 'ro com.ro org.ro tm.ro nt.ro nom.ro info.ro rec.ro arts.ro firm.ro store.ro www.ro'],
'RU': ['C', 'ru com.ru net.ru org.ru pp.ru msk.ru int.ru ac.ru'],
'RW': ['C', 'rw gov.rw net.rw edu.rw ac.rw com.rw co.rw int.rw mil.rw gouv.rw'],
'SA': ['B', 'com.sa edu.sa sch.sa med.sa gov.sa net.sa org.sa pub.sa'],
'SB': ['B', 'com.sb gov.sb net.sb edu.sb'],
'SC': ['C', 'sc com.sc gov.sc net.sc org.sc edu.sc'],
'SD': ['C', 'sd com.sd net.sd org.sd edu.sd med.sd tv.sd gov.sd info.sd'],
'SE': ['C', 'se org.se pp.se tm.se brand.se parti.se press.se komforb.se kommunalforbund.se komvux.se lanarb.se lanbib.se naturbruksgymn.se sshn.se fhv.se fhsk.se fh.se mil.se Geographical: ab.se c.se d.se e.se f.se g.se h.se i.se k.se m.se n.se o.se s.se t.se u.se w.se x.se y.se z.se ac.se bd.se'],
'SG': ['C', 'sg com.sg net.sg org.sg gov.sg edu.sg per.sg idn.sg'],
'SH': ['C', ''],
'SI': ['E', ''],
'SJ': ['E', ''],
'SK': ['E', ''],
'SL': ['E', ''],
'SM': ['A', ''],
'SN': ['A', ''],
'SO': ['E', ''],
'SR': ['A', ''],
'ST': ['E', ''],
'SU': ['A', ''],
'SV': ['B', 'edu.sv com.sv gob.sv org.sv red.sv'],
'SY': ['B', ''],
'SZ': ['E', ''],
'TC': ['E', ''],
'TD': ['E', ''],
'TF': ['E', ''],
'TG': ['E', ''],
'TH': ['B', 'ac.th co.th in.th go.th mi.th or.th net.th'],
'TJ': ['C', 'tj ac.tj biz.tj com.tj co.tj edu.tj int.tj name.tj net.tj org.tj web.tj gov.tj go.tj mil.tj'],
'TK': ['A', ''],
'TL': ['E', ''],
'TM': ['E', ''],
'TN': ['B', 'com.tn intl.tn gov.tn org.tn ind.tn nat.tn tourism.tn info.tn ens.tn fin.tn net.tn'],
'TO': ['C', 'to gov.to'],
'TP': ['C', 'tp gov.tp'],
'TR': ['D', 'com.tr info.tr biz.tr net.tr org.tr web.tr gen.tr av.tr dr.tr bbs.tr name.tr tel.tr gov.tr bel.tr pol.tr mil.tr k12.tr edu.tr'],
'TRAVEL': ['E', ''],
'TT': ['C', 'tt co.tt com.tt org.tt net.tt biz.tt info.tt pro.tt name.tt edu.tt gov.tt'],
'TV': ['C', 'tv gov.tv'],
'TW': ['C', 'tw edu.tw gov.tw mil.tw com.tw net.tw org.tw idv.tw game.tw ebiz.tw club.tw 網路.tw 組織.tw 商業.tw'],
'TZ': ['B', 'co.tz ac.tz go.tz or.tz ne.tz'],
'UA': ['C', 'ua com.ua gov.ua net.ua edu.ua org.ua cherkassy.ua ck.ua chernigov.ua cn.ua chernovtsy.ua cv.ua crimea.ua dnepropetrovsk.ua dp.ua donetsk.ua dn.ua ivano-frankivsk.ua if.ua kharkov.ua kh.ua kherson.ua ks.ua khmelnitskiy.ua km.ua kiev.ua kv.ua kirovograd.ua kr.ua lugansk.ua lg.ua lutsk.ua lviv.ua nikolaev.ua mk.ua odessa.ua od.ua poltava.ua pl.ua rovno.ua rv.ua sebastopol.ua sumy.ua ternopil.ua te.ua uzhgorod.ua vinnica.ua vn.ua zaporizhzhe.ua zp.ua zhitomir.ua zt.ua'],
'UG': ['C', 'ug co.ug ac.ug sc.ug go.ug ne.ug or.ug'],
'UK': ['B', 'ac.uk co.uk gov.uk ltd.uk me.uk mil.uk mod.uk net.uk nic.uk nhs.uk org.uk plc.uk police.uk sch.uk'],
'UM': ['C', ''],
'US': ['C', 'us ak.us al.us ar.us az.us ca.us co.us ct.us dc.us de.us dni.us fed.us fl.us ga.us hi.us ia.us id.us il.us in.us isa.us kids.us ks.us ky.us la.us ma.us md.us me.us mi.us mn.us mo.us ms.us mt.us nc.us nd.us ne.us nh.us nj.us nm.us nsn.us nv.us ny.us oh.us ok.us or.us pa.us ri.us sc.us sd.us tn.us tx.us ut.us vt.us va.us wa.us wi.us wv.us wy.us'],
'UY': ['B', 'edu.uy gub.uy org.uy com.uy net.uy mil.uy'],
'UZ': ['E', ''],
'VA': ['B', 'vatican.va'],
'VC': ['E', ''],
'VE': ['B', 'com.ve net.ve org.ve info.ve co.ve web.ve'],
'VG': ['E', ''],
'VI': ['C', 'vi com.vi org.vi edu.vi gov.vi'],
'VN': ['C', 'vn com.vn net.vn org.vn edu.vn gov.vn int.vn ac.vn biz.vn info.vn name.vn pro.vn health.vn'],
'VU': ['E', ''],
'WF': ['E', ''],
'WS': ['A', ''],
'YE': ['B', ''],
'YT': ['E', ''],
'YU': ['B', 'ac.yu co.yu org.yu edu.yu'],
'ZA': ['B', 'ac.za city.za co.za edu.za gov.za law.za mil.za nom.za org.za school.za alt.za net.za ngo.za tm.za web.za'],
'ZM': ['B', 'co.zm org.zm gov.zm sch.zm ac.zm'],
'ZW': ['B', 'co.zw org.zw gov.zw ac.zw']
},
ns = 'TLD',
parts,
root,
hostname,
getHostNameArray = function (value) {
parts = null;
root = null;
hostname = null;
value = (value || window.location.hostname).toLowerCase();
hostname = value;
return (parts = value.split('.').reverse());
},
getDomainName = function (value) {
if (!parts || (value && hostname !== value)) { parts = getHostNameArray(value); }
root = parts[0].toUpperCase();
var meta = TLD[root],
type = meta[0],
perms = (meta[1]).split(' '),
match = [],
rex = null,
level = 1,
i = 0,
n = perms.length;
// console.log(hostname, root, type, perms);
for (i; i < n; i += 1) {
var variant = perms[i];
variant = variant.replace(/^\./, ''); // strip prefix '.'
// replace '.' with \W word boundry match (remember . === any single character)
rex = new RegExp('\\W' + variant.replace('.', '\\W') + '$', 'gi');
if (rex.test(hostname)) {
match.push(variant.toLowerCase().split('.').length);
}
}
level = match.slice(-1)[0] || 1;
// console.log(level, match, parts[level]);
return parts[level];
};
window[ns] = {
'hostname': getHostNameArray,
'domain': getDomainName,
'list': TLD
};
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment