Примечание. Этот вопрос, я считаю, не является дубликатом этого вопроса. Мой вопрос связан с правилами проверки по умолчанию. Идентификатор ядра asp.net имеет для проверки пароля и того, как это можно сделать, в то время как связанный вопрос обсуждает в целом о действии проверки пароля (что не решает мою проблему)
Ядро ASP.NET позволяет по умолчанию проверять пароль
- Минимум 8 символов
- Должно иметь хотя бы одно число
- Должен иметь хотя бы один верхний регистр
- Должен иметь хотя бы один нижний регистр
- Должен иметь хотя бы один специальный символ (какие специальные символы разрешены?)
Помня об этих условиях, я попытался сделать следующее регулярное выражение, но оно не работает.
^((?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])|(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^a-zA-Z0-9])|(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9])|(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9])).{8,}$
Это регулярное выражение принимает строки, даже если выполняется одно из трех условий из точек 2,3,4,5. Но я хочу, чтобы все условия удовлетворяли.
Что я здесь делаю неправильно?