js獲取url一級域名的方法
阿新 • • 發佈:2019-01-31
頂級域名有國家頂級域名和國際頂級域名之分:國家頂級域名就是.cn這種,全世界有好幾百種域名;國際頂級域名就是.com這種,總共也就10幾個。
兩種頂級域名可能出現其中之一也可能全都出現,而且國際頂級域名永遠在國家頂級域名之前,所以我們至少需要對其中一種頂級域名進行列舉,這樣才能判斷哪裡是一級域名。
當然我們會選擇列舉國際頂級域名。
一級域名就是頂級域名前面的那段域名。var parseDomain=function (str) { if (!str) return ''; if (str.indexOf('://') != -1) str = str.substr(str.indexOf('://') + 3); var topLevel = ['com', 'net', 'org', 'gov', 'edu', 'mil', 'biz', 'name', 'info', 'mobi', 'pro', 'travel', 'museum', 'int', 'areo', 'post', 'rec']; var domains = str.split('.'); if (domains.length <= 1) return str; if (!isNaN(domains[domains.length - 1])) return str; var i = 0; while (i < topLevel.length && topLevel[i] != domains[domains.length - 1]) i++; if (i != topLevel.length) return domains[domains.length - 2] + '.' + domains[domains.length - 1]; else { i = 0; while (i < topLevel.length && topLevel[i] != domains[domains.length - 2]) i++; if (i == topLevel.length) return domains[domains.length - 2] + '.' + domains[domains.length - 1]; else return domains[domains.length - 3] + '.' + domains[domains.length - 2] + '.' + domains[domains.length - 1]; } };