@Test public void testIsLdh() { boolean result = DomainUtil.isLdh("ns.ddomain.cn"); assertEquals(true, result); }
public static boolean isLdh(String domain) { if (StringUtils.isBlank(domain)) { return false; } String domainWithoutLastPoint = deleteLastPoint(domain); if (!validateDomainLength(domainWithoutLastPoint)) { return false; } String[] splits = StringUtils.split(domainWithoutLastPoint, "."); String hyphen = "-"; for (String split : splits) { if (StringUtils.startsWith(split, hyphen) || StringUtils.endsWith(split, hyphen)) { return false; } } String ldhReg = "^(?!-)(?!.*?-$)([0-9a-zA-Z][0-9a-zA-Z-]{0,62}\\.)+" + "[0-9a-zA-Z][0-9a-zA-Z-]{0,62}$"; if (domainWithoutLastPoint.matches(ldhReg)) { return true; } return false; }
DomainUtil { public static boolean isLdh(String domain) { if (StringUtils.isBlank(domain)) { return false; } String domainWithoutLastPoint = deleteLastPoint(domain); if (!validateDomainLength(domainWithoutLastPoint)) { return false; } String[] splits = StringUtils.split(domainWithoutLastPoint, "."); String hyphen = "-"; for (String split : splits) { if (StringUtils.startsWith(split, hyphen) || StringUtils.endsWith(split, hyphen)) { return false; } } String ldhReg = "^(?!-)(?!.*?-$)([0-9a-zA-Z][0-9a-zA-Z-]{0,62}\\.)+" + "[0-9a-zA-Z][0-9a-zA-Z-]{0,62}$"; if (domainWithoutLastPoint.matches(ldhReg)) { return true; } return false; } }
DomainUtil { public static boolean isLdh(String domain) { if (StringUtils.isBlank(domain)) { return false; } String domainWithoutLastPoint = deleteLastPoint(domain); if (!validateDomainLength(domainWithoutLastPoint)) { return false; } String[] splits = StringUtils.split(domainWithoutLastPoint, "."); String hyphen = "-"; for (String split : splits) { if (StringUtils.startsWith(split, hyphen) || StringUtils.endsWith(split, hyphen)) { return false; } } String ldhReg = "^(?!-)(?!.*?-$)([0-9a-zA-Z][0-9a-zA-Z-]{0,62}\\.)+" + "[0-9a-zA-Z][0-9a-zA-Z-]{0,62}$"; if (domainWithoutLastPoint.matches(ldhReg)) { return true; } return false; } private  DomainUtil(); }
DomainUtil { public static boolean isLdh(String domain) { if (StringUtils.isBlank(domain)) { return false; } String domainWithoutLastPoint = deleteLastPoint(domain); if (!validateDomainLength(domainWithoutLastPoint)) { return false; } String[] splits = StringUtils.split(domainWithoutLastPoint, "."); String hyphen = "-"; for (String split : splits) { if (StringUtils.startsWith(split, hyphen) || StringUtils.endsWith(split, hyphen)) { return false; } } String ldhReg = "^(?!-)(?!.*?-$)([0-9a-zA-Z][0-9a-zA-Z-]{0,62}\\.)+" + "[0-9a-zA-Z][0-9a-zA-Z-]{0,62}$"; if (domainWithoutLastPoint.matches(ldhReg)) { return true; } return false; } private  DomainUtil(); static boolean isArpaTldAndLabelIsValid(String domainName); static boolean validateDomainNameIsValidIdna(String domainName,
            boolean forSearch); static boolean validateSearchStringIsValidIdna(String searchString); static String deleteLastPoint(String paramStr); static String getLowerCaseByLabel(String str); static String safeGeneDomainPunyName(String domainName); static String geneDomainPunyName(String domainName); static String urlDecodeAndReplaceAsciiToLowercase(String str); static String replaceAsciiToLowercase(String str); static String urlDecode(String str); static String iso8859Decode(String str); static boolean isLdh(String domain); static boolean validateSearchLdnName(String searchString); }
DomainUtil { public static boolean isLdh(String domain) { if (StringUtils.isBlank(domain)) { return false; } String domainWithoutLastPoint = deleteLastPoint(domain); if (!validateDomainLength(domainWithoutLastPoint)) { return false; } String[] splits = StringUtils.split(domainWithoutLastPoint, "."); String hyphen = "-"; for (String split : splits) { if (StringUtils.startsWith(split, hyphen) || StringUtils.endsWith(split, hyphen)) { return false; } } String ldhReg = "^(?!-)(?!.*?-$)([0-9a-zA-Z][0-9a-zA-Z-]{0,62}\\.)+" + "[0-9a-zA-Z][0-9a-zA-Z-]{0,62}$"; if (domainWithoutLastPoint.matches(ldhReg)) { return true; } return false; } private  DomainUtil(); static boolean isArpaTldAndLabelIsValid(String domainName); static boolean validateDomainNameIsValidIdna(String domainName,
            boolean forSearch); static boolean validateSearchStringIsValidIdna(String searchString); static String deleteLastPoint(String paramStr); static String getLowerCaseByLabel(String str); static String safeGeneDomainPunyName(String domainName); static String geneDomainPunyName(String domainName); static String urlDecodeAndReplaceAsciiToLowercase(String str); static String replaceAsciiToLowercase(String str); static String urlDecode(String str); static String iso8859Decode(String str); static boolean isLdh(String domain); static boolean validateSearchLdnName(String searchString); static final String XN_PREFIX; static final String ACE_PREFIX; static final int MAX_DOMAIN_LENGTH_WITHOUT_LAST_DOT; static final int MIN_DOMAIN_LENGTH_WITHOUT_LAST_DOT; static final String ARPA_SUFFIX; static final String IPV4_ARPA_SUFFIX; static final String IPV6_ARPA_SUFFIX; static final int MAX_ASCII_CODE; static final String BLANK_IN_DOMAIN; static final java.lang.String DISALLOWED_DELIMITERS; }