Asp.net 为什么不是';我的正则表达式是否至少有1个大写字母?
我试图在asp中创建一个用户,当然我想使用正则表达式,所以我确信他们输入的密码很好。我尝试了很多方法,但仍然,每一个FKIN时间都说我仍然需要输入至少1个大写字母,即使我的通行证基本上是由大写字母组成的 大写的正则表达式是第三个 代码:Asp.net 为什么不是';我的正则表达式是否至少有1个大写字母?,asp.net,regex,Asp.net,Regex,我试图在asp中创建一个用户,当然我想使用正则表达式,所以我确信他们输入的密码很好。我尝试了很多方法,但仍然,每一个FKIN时间都说我仍然需要输入至少1个大写字母,即使我的通行证基本上是由大写字母组成的 大写的正则表达式是第三个 代码: <asp:Panel runat="server" DefaultButton="btnCreateUser"> <table> <tr>
<asp:Panel runat="server" DefaultButton="btnCreateUser">
<table>
<tr>
<td>Gebruikersnaam</td>
<td><asp:TextBox runat="server" ID="txtUsername" />
<asp:RequiredFieldValidator ControlToValidate="txtUsername" ForeColor="Red" ID="rfUsername" runat="server" ErrorMessage="U heeft geen gebruikersnaam ingevoerd.<br />"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>Wachtwoord</td>
<td>
<asp:TextBox runat="server" ID="txtPassword" />
<asp:RequiredFieldValidator ControlToValidate="txtPassword" ForeColor="Red" ID="rfPassword" runat="server" ErrorMessage="<br />U heeft geen wachtwoord ingevoerd.<br />"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator runat=server display=dynamic
ControlToValidate="txtPassword" foreColor="Red"
ErrorMessage="<br />Het wachtwoord moet minstens 1 cijfer bevatten. <br />"
ValidationExpression="(?=.*\d)$" />
<asp:RegularExpressionValidator runat=server display=dynamic
ControlToValidate="txtPassword" foreColor="Red"
ErrorMessage="Het wachtwoord moet minimaal uit 6 tekenen bestaan. <br />"
ValidationExpression="(.{8,})$" />
<asp:RegularExpressionValidator runat=server display=dynamic
ControlToValidate="txtPassword" foreColor="Red"
ErrorMessage="Het wachtwoord moet minimaal 1 hoofdletter bevatten.<br />"
ValidationExpression="^(?=.*[A-Z])$" />
</td>
</tr>
<tr>
<td>Naam</td>
<td>
<asp:TextBox runat="server" ID="txtDisplayName" />
<asp:RequiredFieldValidator ControlToValidate="txtDisplayName" ForeColor="Red" ID="rfDisplay" runat="server" ErrorMessage="U heeft geen display naam ingevoerd.<br />"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Label Text="" ID="lblNewUserStatus" runat="server" />
</td>
<td>
<asp:Button Text="Aanmaken" runat="server" ID="btnCreateUser" OnClick="btnCreateUser_Click" />
</td>
</tr>
</table>
</asp:Panel>
格布鲁伊克斯纳姆酒店
瓦赫特伍德
纳姆
这应该是^(?=.[A-Z]).*$”
您的原始正则表达式需要一个空字符串^$
,而前瞻需要一个大写字母
,因此实际上它与任何内容都不匹配
您可以将所有正则表达式合并为一个:
^(?=.*\d)(?=.*[A-Z]).{8,}$
您必须在验证模式中添加
*
:
^(?=.*[A-Z]).*$
^^
如果您想要求至少有一个大写字母,
[A-Z]
就是您所需要的全部正则表达式。您随处可见的多个前瞻密码正则表达式都是用于一次性完成整个验证的。执行单独的正则表达式匹配非常简单:
匹配至少有一个数字的字符串[0-9]
将字符串与至少一个大写ASCII字母匹配,并且[A-Z]
匹配至少包含八个字符的字符串{8}
^(?=\D*\D)(?=[^A-Z]*[A-Z])。{8,}$
。我今天使用的是对比原则:)
^(?=.*\d)(?=.*[A-Z]).{8,}$
^(?=.*[A-Z]).*$
^^