网站地址:正则表达式当我在页面上使用正则表达式验证器具有以下的正则表达式验证在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