2

登録フォームを検証するためにjqueryのバリデータープラグインを使用しています。パスワード検証のカスタムルールを作成しました。次のルールに従う
必要があります。1)8文字以上である必要があります
。2)数字が1つ以上
含まれている必要があります。3)記号が1つ以上
含まれている必要があります。4)大文字が1つ以上含まれている必要があります。

これが私のコードです:フィドル

この式を含める:

/^(?=.*[\W])(?=.*[\d])(?=.*[A-Z]).{8,}$/i

これにより、最後のポリシーを除いて、上記の4つのポリシーのほぼすべてが適用され、少なくとも1つの大文字が必要であることが強制されません。理由はわかりません。すべての正規表現のドキュメントを検索して、構文が正しいことを確認しました。そして、この唯一のツールでさえ、私が正しいと教えてくれます:ルビー

正しく機能しない理由はありますか?ありがとう

4

1 に答える 1

7

正規表現のi最後にあるは、大文字と小文字を区別しません。したがって、指定したすべての大文字は、対応する小文字とも一致します。それを削除するiと、動作するはずです。

于 2012-09-27T21:55:49.733 に答える