Нужна помощь с регулярным выражением для ColdFusion - PullRequest
0 голосов
/ 23 июня 2011

Мне бы хотелось немного помочь с регулярным выражением, которое проверяет строку на несколько вещей.

Мне нужно, чтобы пользователь ввел значение длиной не менее 10 символов, содержащее как минимум 1 число,хотя бы 1 специальный символ и хотя бы 1 заглавная буква.

Любая помощь будет принята с благодарностью.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 23 июня 2011

Просто используйте отдельное регулярное выражение для каждого из ограничений:

  • длиной не менее 10 символов: .{10,},
  • содержит хотя бы 1 число: [0-9],
  • не менее 1 специального символа: [^0-9a-zA-Z]
  • не менее 1 буквы верхнего регистра: [A-Z]

И убедитесь, что строка соответствует всем этимрегулярные выражения.

Если вам это действительно нужно, вы можете объединить их все в одном регулярном выражении, используя предположения: (?=.*[0-9])(?=.*[^0-9a-zA-Z])(?=.*[A-Z]).{10,}

0 голосов
/ 23 июня 2011

Требование к длине, вероятно, легче проверить без регулярного выражения. Другие тесты будут работать лучше как отдельные тесты:

номер: [0-9]+

заглавные буквы: [A-Z]+

специальные (знаки пунктуации): [[:punct:]]+

попытка объединить их в одно регулярное выражение, вероятно, приведет к чему-то довольно громоздкому и неясному

...