【问题标题】:How to validate url in java?如何在java中验证url?
【发布时间】: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 有一个 String constructor 会抛出一个 MalformedURLException...

标签: java validation jsf-2


【解决方案1】:

试试这个:

 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;
}

【讨论】:

猜你喜欢
  • 2010-12-08
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 2014-05-11
  • 2014-01-06
  • 1970-01-01
  • 1970-01-01
  • 2016-05-05
相关资源
最近更新 更多