我有一个验证密码字段的 RegularExpressionValidator。密码必须包含字母和至少 1 个数字,并且必须介于 8 到 20 个字符之间。这是我的验证器:
<asp:RegularExpressionValidator ID="regexPassword" runat="server" ControlToValidate="txtNewPassword"
ValidationExpression="^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,20}$" ErrorMessage="Password must contain at least one digit and must be between 8 and 20 characters"
Text="*" ValidationGroup="Passwords"></asp:RegularExpressionValidator>
这在我的开发环境中非常有效,当我在本地机器上工作时,但是当我将它迁移到生产环境时它不起作用。在生产环境中,我必须从一个数字开始,它才能通过。我们的生产环境正在运行 Win 2k8 R2 机器,但我无法想象这很重要。我在这里发现了另一个帖子,说这个表达式可以工作,所以我测试了它,确实它确实有效......但只在我的开发环境中。谁能明白为什么在我的生产环境中,我必须从一个数字开始才能工作?该数字应位于密码中的任何位置。
谢谢