in src/main/java/org/apache/commons/validator/UrlValidator.java [242:277]
public boolean isValid(final String value) {
if (value == null) {
return false;
}
if (!LEGAL_ASCII_PATTERN.matcher(value).matches()) {
return false;
}
// Check the whole url address structure
final Matcher urlMatcher = URL_PATTERN.matcher(value);
if (!urlMatcher.matches()) {
return false;
}
if (!isValidScheme(urlMatcher.group(PARSE_URL_SCHEME))) {
return false;
}
if (!isValidAuthority(urlMatcher.group(PARSE_URL_AUTHORITY))) {
return false;
}
if (!isValidPath(urlMatcher.group(PARSE_URL_PATH))) {
return false;
}
if (!isValidQuery(urlMatcher.group(PARSE_URL_QUERY))) {
return false;
}
if (!isValidFragment(urlMatcher.group(PARSE_URL_FRAGMENT))) {
return false;
}
return true;
}