Справка по Javascript RegEx - PullRequest
       26

Справка по Javascript RegEx

2 голосов
/ 13 сентября 2010

Может ли кто-нибудь помочь мне проверить следующие правила, используя шаблон RegEx

Максимальная длина: 15
Минимальная длина: 6
Минимальное количество символов: 1
Минимальное количество номеров: 1
Количество последовательных повторяющихся символов: 2

Ответы [ 2 ]

6 голосов
/ 13 сентября 2010
^                   # 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
}
2 голосов
/ 13 сентября 2010

Я предлагаю вам использовать несколько различных шаблонов регулярных выражений для проверки всех этих правил, потому что это будет либо невозможно, либо очень сложно.

  • .length, чтобы проверить первые 2 правила
  • [a-z] (с учетом регистра без учета регистра) для 3-го правила
  • \d для 4-го правила
  • (.)\1{2,} для 5-го правила, если это соответствует строке, содержит 3+ повторения символов
...