5

以下の基準を満たす正規表現を作成しようとしています。

  • 少なくとも1つの小文字
  • 少なくとも1つの大文字
  • 少なくとも1桁
  • 場所がない
  • 8文字以上
  • 特殊文字はありません

これまでのところ、私はこれを手に入れました。

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

しかし、私はそれを動作させることができません。どんな助けでも大歓迎です。私はパズルが得意ではありませんでした:)

4

1 に答える 1

6

もうすぐです。.*「スペースなし/特殊文字」のルールを無視するのは最後の部分であり、先読み(?=.\s)が間違っています(おそらく(?!.*\s)またはを意味します(?=\S*$))。

ただし、許可する文字を指定するだけでよいため、とにかく先読みは必要ありません(また、「最小8文字」のルールも適用できます)。

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

しかし、なぜユーザーがパスワードに英数字以外の文字を使用しないようにしたいのでしょうか。

于 2012-10-08T11:23:47.537 に答える