【发布时间】:2014-08-14 13:17:06
【问题描述】:
我有一个 inputtext 我必须在其中输入链接。
我将如何验证该字符串是否为 url(link)。
例子-
Pattern p = Pattern
.compile("(@)?(href=')?(HREF=')?(HREF=\")?(href=\")?(http://)?[a-zA-Z_0-9\\-]+(\\.\\w[a-zA-Z_0-9\\-]+)+(/[#&\\n\\-=?\\+\\%/\\.\\w]+)?");
Matcher m = p.matcher("https://mail.google.com");
System.out.println(m.matches());
此代码也给出了错误。我没有得到该代码中的问题。
或者请参考另一个逻辑来验证 url。
我已经用过UrlValidator urlValidator = new UrlValidator();
但我不想使用这个 .jar
这是该方法正确验证的另一种方法,但我该 url 不可用。如何检查此要求? 例子-
public static void main(String[] args) {
String b = "http://11155555.com/";
System.out.println(isUrl(b));
}
public static boolean isUrl(String str) {
Pattern urlPattern = Pattern.compile(
"((https?|ftp|gopher|telnet|file):((//)|(\\\\\\\\))+[\\\\w\\\\d:#@%/;$()~_?\\\\+-=\\\\\\\\\\\\.&]*)",
Pattern.CASE_INSENSITIVE);
Matcher matcher = urlPattern.matcher(str);
if (matcher.find()) {
return true;
} else {
return false;
}
}
非常感谢。
【问题讨论】:
-
Java 之于 Javascript 就像 ham 之于仓鼠一样。请注意您的标签。
-
URL有一个Stringconstructor 会抛出一个MalformedURLException...
标签: java validation jsf-2