2017-06-08 8 views
1

パスワードの複雑さを確認する次の正規表現があります。Regexの長さを8〜15文字に制限してください

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])){8,15}.+$ 
  1. 少なくとも一つの小文字
  2. 少なくとも一つの大文字
  3. 少なくとも1 Symb0l
  4. 少なくとも1番号

しかし、私はまた、唯一許可するように制限したいです上記のすべてプラスの長さ。有効な長さは8〜15の間です。

私は{8,15}を追加してこれを試みましたが、うまくいかないようです!私は間違って何をしていますか?

答えて

3

あなたは数量詞を紛失:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[_\W]).{8,15}$ 
              ^^^^^^ 

また、(_|[^\w])[_\W]と同じです。

regex demoを参照してください。

詳細

  • ^ - 文字列
  • (?=.*[a-z])の開始 - 少なくとも1つの小文字のASCII文字
  • (?=.*[A-Z]) - 少なくとも1つの大文字のASCII文字
  • (?=.*\d) - 少なくとも1桁
  • (?=.*[_\W]) - 少なくとも1 "specia L」、非英数字、チャー
  • .{8,15} - 改行文字以外の任意の8〜15文字
  • $ - 文字列の末尾。
+1

興味深い。他に何かする必要がありますが、それらが公開されて2分以内に正規表現の質問に答えますか? – MAZDAK

+0

この時点で、すべてのregexタグを直接彼に送るべきです。 @WiktorStribiżewと同じくらい速く、これらのタイプの質問に答えている人は誰もいませんでした。 –

+0

本当ですか?そして、これは本当に重要です! – MAZDAK

関連する問題