适用于所有方案的Apache UrlValidator

时间:2012-08-23 11:12:38

标签: java url url-validation

我正在使用org.apache.commons.validator.UrlValidator来验证网址。它对http://www.google.com返回true,但对www.google.com

为false

我也想允许www.google.com。我将ALLOW_ALL_SCHEMES应用为参数,但它不起作用。如何自定义UrlValidator,使其对www.google.comhttp://localhost:8282/GFEReporting也返回true。有没有办法定制这个,所以它可以采取所有方案,没有方案?请告诉我。

还是有其他办法吗?

提前致谢...

2 个答案:

答案 0 :(得分:9)

    UrlValidator validator = new UrlValidator() {
        /** allow missing scheme. */
        @Override
        public boolean isValid(String value) {
            return super.isValid(value) || super.isValid("http://" + value);
        }
    };

    validator.validate("google.com");

答案 1 :(得分:1)

private boolean isValidUrl(String value) {
    return UrlValidator.getInstance().isValid(value)
            || UrlValidator.getInstance().isValid("http://" + value);
}

这是@Sergey的简化答案(不扩展UrlValidator()类)。