像这样的字符串:'www.test.com' 是好的。 像这样的字符串:'www.888.com' 是好的。 像这样的字符串:'stackoverflow.com' 很好。 像这样的字符串:'GOoGle.Com' 很好。
为什么?因为那些是有效的网址。他们是否已注册并不一定重要。
现在坏字符串是:
'goog*d\x' 'manydots...com'
为什么因为您无法注册这些网址。
如果我在 java 中有一个字符串,它应该是一个好的 url 验证它的最佳方法是什么?
非常感谢
最佳答案
使用UrlValidator来自 Apache Commons library .二进制包:http://www.mirrorservice.org/sites/ftp.apache.org/commons/validator/binaries/commons-validator-1.3.1.zip (zip 包含 .jar 文件)
使用示例(构造具有“http”和“https”的有效方案的 UrlValidator):
String[] schemes = {"http","https"}.
UrlValidator urlValidator = new UrlValidator(schemes);
if (urlValidator.isValid("ftp://foo.bar.com/")) {
System.out.println("url is valid");
} else {
System.out.println("url is invalid");
}
打印“网址无效”
如果改为使用默认构造函数。
UrlValidator urlValidator = new UrlValidator();
if (urlValidator.isValid("ftp://foo.bar.com/")) {
System.out.println("url is valid");
} else {
System.out.println("url is invalid");
}
打印出“url is valid”
关于java - 网址有效字符。 java验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2601780/