0

パスワード フィールドを検証する 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 マシンを実行していますが、それが問題になるとは想像できません。ここで別の投稿を見つけたので、この表現が機能すると言っているので、テストしたところ、実際に機能しました...ただし、私の開発環境でのみ機能しました。私の実稼働環境で、これが機能するために番号から始めなければならない理由を誰かが理解できますか? 番号はパスワードのどこかにある必要があります。

ありがとう

4

1 に答える 1

1

これを試して:

^(?=\w{8,20}$)(?=.*[0-9])(?=.*[a-zA-Z]).*

これは IE6 のバグに関連していますが、運用マシンで実行されている ASP.NET のバージョンによっては、まだ適用される場合があります。

于 2012-08-30T13:16:14.190 に答える