次の正規表現を使用しています。パスワード検証に正規表現を使用する
^.*(?=.{6,20})(?=.*[a-z].*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$
私はそれが動作していない
^.\*(\?=.{6,20})(\?=.\*[a-z].\*[a-z])(\?=.\*[A-Z])(\?=.\*[0-9]).\*$
としてXMLで同じを使用しようとしています。以下のような例外が表示されます。
java.lang.IllegalArgumentExceptionが: CVC-パターン有効:値 'narendra1A' はパターン 「^に対してファセットは有効ではありません*(\ = {6,20}?)。 (\?=。* [az]。* [az])(\?=。* [AZ])(\?=。* [0-9])。*'#AnonType_passwordcreateUser'
この点については、いずれも助けてください。
おかげで、
ナレンドラ
質問には関係ありませんが、 '^ 'の直後に最初の'。* 'を削除してください。それは不要で正規表現は非常に非効率的になります。また、パスワードの長さを6-20文字に制限していると思われる場合は、そうではありません。 100文字の文字列は、この正規表現を正常に渡します。 –
上限は20文字になるのはなぜですか? – Gumbo
@ Gumbo:正規表現をよく見れば、5文字以上の文字列は渡されません:) –