我正在开发一个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 >
控件,因为它们是特殊字符,所以我遇到了一些问题。
非常感谢任何帮助。
答案 0 :(得分:1)
您可以使用以下正则表达式匹配包含8到16个字符的密码,包括列表中的一个特殊字符。您可以根据需要更改允许的总字符范围:
^(?=.*\w)(?=.*[ !"#$%&'()*+,-./:;<=>?@[\]\^_`\{\|\}\~]).{8,16}$
在您的aspx页面中,添加RegularExpressionValidator
:
<asp:RegularExpressionValidator ID="revPassword" ControlToValidate="Password"
ForeColor="Red" ValidationGroup="vgErrors" runat="server" ErrorMessage="Error Message"/>
在您的aspx页面的代码隐藏中,您可以设置ValidationExpression
的{{1}}:
RegularExpressionValidator