2016-08-04 7 views
-2

次の要件を満たす正規表現が必要です。Javascriptの正規表現が機能しない

1.最小8文字。 2.少なくとも文字。 3.少なくとも数字。 4.少なくとも特殊文字。

私はこれを試しましたが、私のために働いていません。

^(?=.{8})(?=.*\d)(?=.*[[email protected]#$%^&*])(?=.*[a-zA-Z]).*$ 

注:あなたは、この正規表現を使用することができ

(?=^.{8,}$)(?=.*\d)(?=.*[[email protected]#$%^&*]+)(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ 
+0

'(?=。* [a-z])(?=。* [a-z])は、少なくとも1つの大文字と少なくとも1つの小文字が必要であることを意味します。 2つの文字クラスを '(?=。* [a-zA-Z])'のみにマージするか、大文字小文字を区別しないフラグ 'i'を使います。 – Xufox

答えて

1

少なくとも8つの文字をチェックするための

  • 、あなたはとして、カンマと$(両方)を省略することができます8文字が見つかったときはそれ以上見る必要はありません。

  • 他の文字クラスと同様に、+を追加する必要はありません。条件が満たされている場合は、+を追加する必要はありません。

  • 小文字と大文字の区別がないため、これらのテストはマージする必要があります。

  • ポイントや改行に関する条件がないので、そのテストは削除する必要があります((?![.\n]))。

  • 最初のグループではなく、入力のすべての文字を一致させたい場合もあります。

関連する問題