【问题标题】:How can I validate a URL in android如何在 android 中验证 URL
【发布时间】:2014-05-11 07:11:56
【问题描述】:

如何在 android 中验证 URL...我正在尝试使用正则表达式,但即使 url 正确,它也总是返回 false

使用的代码:

private boolean checkEmail(String email) {
        return URL.matcher(email).matches();
}
    public final Pattern URL = Pattern.compile(
              "/((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+(:[0-9]+)?|(?:ww‌​w.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?‌​(?:[\\w]*))?)/"
      );

我对正则表达式有非常基础的了解,所以不知道上面使用的字符串是否正确。请帮忙...

【问题讨论】:

  • 网址与电子邮件地址不同
  • 模式是URL,忘记改模式名
  • 检查这个答案,它提供了一些验证工具:stackoverflow.com/a/5930532/1374065
  • Validating URL in Java的可能重复
  • 感谢您的回答:) 还有一件事我如何在没有http://https:// 的情况下进行验证,即以www 开头的网站应该被视为有效

标签: android regex


【解决方案1】:

因为您的问题更具体到 android。你可以用这个

android.util.Patterns.WEB_URL.matcher(url).matches();

【讨论】:

    【解决方案2】:

    如果您想在包含字符串而非 URL 的文本中查找 URL,请使用此

    Patterns.WEB_URL.matcher(bodyText).find()
    

    matches() 尝试将字符串长度与 URl 的长度完全匹配,而 find() 将在整个文本中查找字符串

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 2014-08-14
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      • 2017-10-05
      • 2011-02-05
      • 2020-02-09
      • 1970-01-01
      相关资源
      最近更新 更多