的用戶應該能夠把它寫在以下的任何格式正則表達式開頭的網址HTTP/HTTPS或www
http://www.microsoft.com 或 https://www.microsoft.com 或 www.microsoft.com
編程語言:C#
的用戶應該能夠把它寫在以下的任何格式正則表達式開頭的網址HTTP/HTTPS或www
http://www.microsoft.com 或 https://www.microsoft.com 或 www.microsoft.com
編程語言:C#
這應該對大多數正則表達式處理器工作:
/((?:https?\:\/\/|www\.)(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)/i
這是什麼比賽:
http://
開始,https://
,或www.
/i
)blahwww.domain.com
,並返回www.domain.com
如果要強制執行空間,請將\s
添加到開頭,但必須確保在要匹配的字符串的開頭添加一個空格。(?:)
塊是不匹配的組。他們阻止爲這些特定的字符組分配一個數字。如果您的正則表達式處理器有問題,可以用匹配組()
替換它們。組1始終是整個網址。
這不是非常嚴格,但它匹配所有標準域名(但可能會讓一些無效的域名滑過)。
另外,下次您可能希望包含編程語言或上下文,因爲正則表達式處理器在功能支持方面差別很大。
嗨過度熱情, 我試過www.microsoft.com。它不起作用。 –
我剛試過,它確實有效。我不知道還有什麼要告訴你,你的問題非常模糊,你的評論也是如此。 – OverZealous
問題可能出在JavaScript中使用的分隔斜線上,而不是.NET正則表達式中。不過,我同意OP的模糊性。您可能還想將錨定添加到您的正則表達式中。並刪除不必要的反斜槓。 –
不使用http | https | fts
:
Var url = /^((www|WWW)\.){1}?([a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+(\.[a-zA-Z0-9]+)*)$/;
使用http | https | fts
:
var url = /^((http|ftp|https):\/\/|((www|WWW)\.)){1}?([a-zA-Z0-9]+(\.[a-zA-Z0- 9]+)+(\.[a-zA-Z0-9]+)*)$/;
誰說子域必須是'www'?你試過什麼了?你使用什麼編程語言? –
(http + https +)E * .E * .E *與語言不可知的正則表達式符號...可以用www替換第一個E * E是URL的所有合法符號的集合。 –
Patrick87
我正在使用asp.net,我需要驗證在文本框中輸入的URL –