Проверьте, содержит ли строка специальные символы и не менее 2 символов среди цифр и букв.

Привет, ребята, я пытаюсь проверить, содержит ли пароль специальные символы и как минимум 2 символа (цифру или букву) Ну вот так:

("&#€$&&÷") ====> false

("&#&'&*#5") ====> false

(">~<<`<•5t") ====> true

("{\><>\tt") =====> true

("65%#^$*@") ====> true

("7373673") ====> false

("7267373~") ====> true

Я пробовал это регулярное выражение, но, похоже, оно не работает:

/^((?=.*\d{2})|(?=.*?[a-zA-Z]{2}))/
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете подтвердить 2 вхождения символа или цифры в одном и том же поиске вперед, а затем сопоставить хотя бы один «специальный» символ.

Использование шаблона без учета регистра:

^(?=(?:[^a-z\d\n]*[a-z\d]){2})[a-z\d]*[~!@#$%^&*()_+<>•`{}\\][~!@#$%^&*()_+<>•`{}\\a-z\d]*$

Шаблон соответствует:

  • ^ Начало строки
  • (?:[^a-z\d\n]*[a-z\d]){2} Подтвердите 2 вхождения либо символа az, либо цифры. Часть [^a-z\d\n]* отрицает класс символов, используя [^, чтобы предотвратить ненужный возврат.
  • [a-z\d]* Сопоставьте необязательные символы az или цифру
  • [~!@#$%^&*()_+<>•`{}\] Подбери специальный символ
  • [~!@#$%^&()_+<>•`{}\a-z\d] Сопоставьте необязательные разрешенные символы
  • $ Конец строки

Демонстрация регулярных выражений

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

tanjona Randrianasolo 09.04.2022 09:42

Извините за повторный вопрос, но я новичок в этом и пытаюсь реализовать проект. Как насчет строки, содержащей специальные символы, цифры, строчные буквы верхнего регистра?

tanjona Randrianasolo 09.04.2022 09:52

@tanjonaRandrianasolo Вы можете добавить в шаблон еще один прогноз, см. regex101.com/r/KnTrzl/1

The fourth bird 09.04.2022 09:58

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

tanjona Randrianasolo 09.04.2022 10:05

@tanjonaRandrianasolo См. reexegg.com/regex-lookarounds.html

The fourth bird 09.04.2022 11:15

Другие вопросы по теме