Skip to content

Instantly share code, notes, and snippets.

@raynirola
Last active August 17, 2023 09:36
Show Gist options
  • Save raynirola/189ff890d5f6cfc450ff28880be23c1f to your computer and use it in GitHub Desktop.
Save raynirola/189ff890d5f6cfc450ff28880be23c1f to your computer and use it in GitHub Desktop.
function extractDomainFromURL(url: string, onlyDomain?: boolean): string | undefined {
const hostname = new URL(url).hostname
const parts = hostname.split('.').slice(-3)
const tld = parts.at(1)
if(tld && tld === "com") return onlyDomain ? parts.shift() : parts.join('.')
if(tld && tld.length > 2) {
const parsed = parts.slice(-2)
return onlyDomain ? parsed.shift() : parsed.join('.')
}
return onlyDomain ? parts.shift() : parts.join('.')
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment