4

How can I validate URL in android... I am trying to use regex but it is always returning false even if the url is correct

Code used:

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]*))?)/"
      );

I have got very basic knowledge in regex, so I don't know whether the above used string is correct. Please help...

ganapathy
  • 1,407
  • 3
  • 13
  • 20

2 Answers2

23

As your question is more specific to android. You can use this

android.util.Patterns.WEB_URL.matcher(url).matches();
Ads
  • 6,681
  • 12
  • 47
  • 72
5

In case you want to find a URL inside a text comprised of string other than just the URL, use this

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

matches() tries to match the string length to exactly that of the URl, while find() will look for the string in the entire text

Shubham Gupta
  • 424
  • 5
  • 4