網站地址:正則表達式當我在頁面上使用正則表達式驗證器具有以下的正則表達式驗證在ASP.NET
<asp:RegularExpressionValidator ID="regexWebsiteValidator" runat="server" ControlToValidate="ctlWS" ValidationExpression="(http(s)?://)?([\w-]+\.)+[\w-]+(/[\w- ;,./?%&=]*)?" ErrorMessage="Invalid Website Address!" />
,並輸入http://www,google.com
在文本框中, 如預期的驗證失敗。
如果我使用相同的正則表達式,但嘗試使用Regex.Match匹配它,它會通過。有人能告訴我我做錯了什麼嗎?
string strRegex = @"(http(s)?://)?([\w-]+\.)+[\w-]+(/[\w- ;,./?%&=]*)?";
bool b = System.Text.RegularExpressions.Regex.Match("http://www,google.com", strRegex).Success;
b是true
!
哇,這工作!你能用'^(myregex)$'解釋表達式的錨定嗎? – Dusty 2011-04-13 19:08:56
'^'和'$'是正則表達式「錨」。 '^'匹配輸入的開始,而'$'匹配結束。我建議www.regular-expressions.info瞭解更多信息。 – 2011-04-15 13:34:44