func IsHostname(str string) bool {
	if !rxHostname.MatchString(str) {
		return false
	}

	// the sum of all label octets and label lengths is limited to 255.
	if len(str) > 255 {
		return false
	}

	// Each node has a label, which is zero to 63 octets in length
	parts := strings.Split(str, ".")
	valid := true
	for _, p := range parts {
		if len(p) > 63 {
			valid = false
		}
	}
	return valid
}
func IsHostname(str string) bool {
	if !rxHostname.MatchString(str) {
		return false
	}

	
	if len(str) > 255 {
		return false
	}

	
	parts := strings.Split(str, ".")
	valid := true
	for _, p := range parts {
		if len(p) > 63 {
			valid = false
		}
	}
	return valid
}
func IsHostname ( str string ) bool { if ! rxHostname . MatchString ( str ) { return false } // the sum of all label octets and label lengths is limited to 255. if len ( str ) > 255 { return false } // Each node has a label, which is zero to 63 octets in length parts := strings . Split ( str , " " ) valid := true for _ , p := range parts { if len ( p ) > 63 { valid = false } } return valid }
// IsHostname returns true when the string is a valid hostname
IsHostname returns true when the string is a valid hostname