2

誰かが正規表現パターンを使用して次のルールを検証するのを手伝ってくれますか?

最大長 : 15
最小長 : 6
最小文字数 : 1
最小数字数 : 1
結果として繰り返される文字数 : 2

4

2 に答える 2

6
^                   # start of string
(?=.{6,15}$)        # assert length
(?=.*[A-Za-z])      # assert letter
(?=.*[0-9])         # assert digit
(?:(.)(?!\1\1))*    # assert no more than 2 consecutive characters
$                   # end of string

これを行います。しかし、これはJavaScriptでは見栄えがよくありません(または簡単に保守できません)。

if (/^(?=.{6,15}$)(?=.*[A-Za-z])(?=.*[0-9])(?:(.)(?!\1\1))*$/.test(subject)) {
    // Successful match
} else {
    // Match attempt failed
}
于 2010-09-13T10:13:39.560 に答える
2

いくつかの異なる正規表現パターンを使用して、これらすべてのルールを確認することをお勧めします。これは、不可能または非常に複雑になるためです。

  • .length最初の 2 つのルールを確認するには
  • [a-z](大文字と小文字を区別しないオプション付き) 3 番目のルール
  • \d4番目のルール
  • (.)\1{2,}5 番目のルールの場合、これが一致する場合、文字列には 3 文字以上の繰り返しが含まれます
于 2010-09-13T08:15:55.470 に答える