Functions/Test-DomainValidity.ps1

<#
.SYNOPSIS
    This function verifies if a domain name follows a valid pattern.
#>

function Test-DomainValidity {
    [CmdletBinding()]
    [OutputType([Bool])]
    param (
        # The domain to verify
        [Parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]
        [String]$domain
    )

    # Check against basic regex
    return [Regex]::New("^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$").IsMatch($domain)
}