/** * A simple test to determine if a hostname is a properly-formatted domain name * * A "valid domain" is defined here: https://url.spec.whatwg.org/#valid-domain * * Regex sourced from here: * https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html */ export function isValidDomain(hostname) { return ( // Consider localhost valid as well since it's okay wrt Secure Contexts hostname === 'localhost' || /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(hostname) ); }