3

org.apache.commons.validator.UrlValidator用于验证 URL。它对http://www.google.com返回 true,但对 www.google.com 返回 false

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

还是有其他方法可以做到这一点?

提前致谢...

4

2 回答 2

12
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");
于 2013-03-20T14:19:43.483 回答
1
private boolean isValidUrl(String value) {
    return UrlValidator.getInstance().isValid(value)
            || UrlValidator.getInstance().isValid("http://" + value);
}

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

于 2020-12-02T10:23:37.033 回答