2010-09-16 14 views
5

Nella mia applicazione asp.net, ho bisogno di convalidare il testo per un link al sito web valido. Voglio usare il validatore di espressioni regolari per quello. Chiunque abbia qualche idea su come convalidare l'espressione utente del weblink.Espressione Regex per il link al sito web valido

risposta

1
|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i 
+1

sembra carino, ma mi chiedo, non ogni siti inizia sempre con http o https? –

9

provare questo -

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

spiegato ogni gradino sotto -

^         # 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 
)?$ 
+0

Che ne dici di indirizzi come twitter.com o facebook.com? Sembra che il tuo patter non sia all'altezza. – S1awek