Regular expression for a valid link to a site

In my asp.net application, I need to check the text for a valid website link. I want to use a regular expression checker for this. Anyone who has an idea on how to validate a weblink user regex.

+5
source share
2 answers

try it -

^(?:ftp|http|https):\/\/(?:[\w\.\-\+]+:{0,1}[\w\.\-\+]*@)?(?:[a-z0-9\-\.]+)(?::[0-9]+)?(?:\/|\/(?:[\w#!:\.\?\+=&%@!\-\/\(\)]+)|\?(?:[\w#!:\.\?\+=&%@!\-\/\(\)]+))?$

Explain each step below -

^                                   # Start at the beginning of the text  
(?:ftp|http|https):\/\/              # Look for ftp, http, or https  
(?:                                  # Username:password combinations (optional)    
  [\w\.\-\+]+                        # A username    
  :{0,1}                             # an optional colon to separate the username and password    
  [\w\.\-\+]*@                       # A password  
)?  
(?:[a-z0-9\-\.]+)                    # The domain limiting it to just allowed characters  
(?::[0-9]+)?                         # Server port number  
(?:                                  # The path (optional)    
  \/|                                # a forward slash    
  \/(?:[\w#!:\.\?\+=&%@!\-\/\(\)]+)| # or a forward slash followed by a full path    
  \?(?:[\w#!:\.\?\+=&%@!\-\/\(\)]+)  # or a question mark followed by key value pairs   
)?$
+9
source
|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i
+1
source

All Articles