In my asp.net application, i need to validate the text for a valid website link. I want to use the regular expression validator for that. Anyone with any idea of how to vali
try this -
^(?:ftp|http|https):\/\/(?:[\w\.\-\+]+:{0,1}[\w\.\-\+]*@)?(?:[a-z0-9\-\.]+)(?::[0-9]+)?(?:\/|\/(?:[\w#!:\.\?\+=&%@!\-\/\(\)]+)|\?(?:[\w#!:\.\?\+=&%@!\-\/\(\)]+))?$
Explained 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
)?$
|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i