不是asp.net或验证专家。但是,角色类仅需要某些字符,如[]
。破折号-
代表一系列字符。如果用作文字,它可以被转义并放在任何地方,或者可以放在课程的开始或结尾([-aa]
或[aa-]
),并被视为文字。此外,在课程开始处插入一个脱字号,表示“否定”类的含义,但是这些字符([^not me]
)。
有可能是在课堂上其他构造独特,以特定的发动机特殊的语法(.NET可能是这个样子,我不知道)。我猜想某些序列也触发了一个子类。
这里是我的测试情况下与使用特殊字符asp.net验证。他们可能是相关的,我不确定。两者似乎都不验证空白输入,这可能不是正则表达式。
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="Input is not valid."
ValidationExpression="^.*[\[\]^$.|?*+()\\~`[email protected]#%&\-_+={}'"<>:;,\ ].*$"></asp:RegularExpressionValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
这一个似乎照顾了一个安全问题,如果这相关。请注意0,其中'alpha'表示根据我认为符合某些标准的一系列有效unicode字符。
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="Input is not valid."
ValidationExpression="^(?!.*<(?:/|[A-Za-z_:])).*[\[\]^$.|?*+()\\~`[email protected]#%&\-_+={}'"<>:;,\ ].*$"></asp:RegularExpressionValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
只是无视这种情况。
来源
2012-02-22 01:06:56
sln
我讨厌那种需要ID和密码包含特殊字符的网站 – 2012-02-21 22:15:11
只是一个侧面说明:如果你起诉ASP.NET会员,您可以使用['MinRequiredNonAlphanumericCharacters'](http://msdn.microsoft.com/en-us/library/system.web.security.membership .minrequirednonalphanumericcharacters.aspx)-property以确保在密码中输入特殊字符。 – 2012-02-21 22:19:52
@TimSchmelter - noooo,不起诉微软:)为什么我不能在成员资格提供者中使用这个,是因为这个验证是可选的 - 它可以打开或关闭,这取决于客户的需求......我们不会能够为我们的应用程序的所有客户端强制执行它。谢谢你的旁注..虽然.. – Alex 2012-02-21 22:31:51