ASP.Net 使用 RegularExpressionValidator 来确保至少有一个特殊字符



我正在开发一个ASP。Net应用程序,我需要确保我的密码字段至少包含一个特殊字符。

这就是我所拥有的:

<asp:TextBox ID="Password" runat="server" TextMode="Password" />
<asp:RequiredFieldValidator ID="rfvPassword" runat="server" ForeColor="Red"
ErrorMessage="Password Required" ValidationGroup="vgErrors" 
ControlToValidate="Password" Display="Dynamic" Text="*" />

然后,我还需要向该字段添加一个<asp:RegularExpressionValidator >,它需要使用以下特殊字符:(包括空格)

!"#$%&'()*+,-./:;<=>?@[]^_`{|}~

我很难实现这一点,因为首先,我对<asp:RegularExpressionValidator >控件不太熟悉,而且由于它们是特殊字符,我遇到了一些问题。

任何帮助都将不胜感激。

您可以使用以下正则表达式来匹配包含8到16个字符的密码,其中包括列表中的一个特殊字符。您可以根据需要更改允许的总字符范围:

^(?=.*w)(?=.*[ !"#$%&'()*+,-./:;<=>?@[]^_`{|}~]).{8,16}$

在aspx页面中,添加RegularExpressionValidator:

<asp:RegularExpressionValidator ID="revPassword" ControlToValidate="Password"
ForeColor="Red" ValidationGroup="vgErrors" runat="server" ErrorMessage="Error Message"/>

在aspx页面的代码后面,您可以设置RegularExpressionValidator:的ValidationExpression

revPassword.ValidationExpression =
"^(?=.*\w)(?=.*[ !"#$%&'()*+,-./:;<=>?@[\]\^_`\{\|\}\~]).{8,16}$";

最新更新