2

パスワード形式を検証する正規表現パターンが必要です。ルールは次のとおりです。

  • 合計で最低8文字
  • 少なくとも2文字
  • 少なくとも2桁の数字または記号

私は次のことを思いついた: /((?=.*[0-9\@\&#\$\?\%!\|(){}[]])(?=.*[a-zA-Z]).{8,})/

両方が1回発生するかどうかは確認されますが、少なくとも2回発生するかどうかを検証する必要があります。私がこのように追加した場合{2,}/((?=.*[0-9\@\&#\$\?\%!\|(){}[]]{2,})(?=.*[a-zA-Z]{2,}).{8,})/

その場合、たとえば次は機能しません:a1a1a1a1a1

誰か助けてもらえますか?

4

2 に答える 2

3

これは、前向きな先読みを使用して行う方法です:http: //regex101.com/r/uW0yI4

/^(?=.*[a-z].*[a-z])(?=.*[!"#...\d].*[!"#...\d]).{8,}$/gmi

!"#...一致させたいすべての記号に置き換えるだけです。

注:アプリケーションでは、複数行フラグは不要な場合があります。

于 2012-08-28T08:25:51.780 に答える
0

これにより、次のようになります。

^((?=(.*[\d0-9\@\&#\$\?\%!\|(){}[\]]){2,})(?=(.*[a-zA-Z]){2,}).{8,})$
于 2012-08-28T08:34:05.157 に答える