Я использую этот шаблон в пароле типа входного тега, чтобы принять надежный пароль. «Должен содержать как минимум одну цифру, одну прописную и строчную буквы и один специальный символ, минимум 8 символов и максимум 26 символов». Но когда я вставил один из этих символов <>,./'";
, заголовок поля продолжает появляться. Я хотел бы реализовать все специальные символы в моей регистрационной форме
<form>
<input pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$" />
<input type = "submit" />
</form>
не подскажете, где я могу разместить его на выкройке @mplungjan?
Хорошим местом для начала будет инструмент регулярных выражений, такой как regex101.com. Вы можете ввести свой шаблон, и он даст вам полное объяснение того, как он работает. Возможно, вы могли бы попробовать, посмотреть, сможете ли вы выяснить, куда добавить дополнительные специальные символы? Затем, если это все еще не работает, я бы рекомендовал отредактировать ваш вопрос, чтобы показать, что вы пробовали.
(?=.*[0-9]) require one digit anywhere
(?=.*[a-z]) require one lowercase letter anywhere
(?=.*[A-Z]) require one uppercase letter anywhere
(?=.*[^0-9a-zA-Z]) require one symbol anywhere
^.{8,26}$ match any string of 8 to 26 characters
Объедините все это вместе, и вы получите:
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^0-9a-zA-Z]).{8,26}$
Это, конечно, считает специальным символом все, что не является буквой от A до Z или цифрой, включая буквы с диакритическими знаками, буквы других алфавитов и пробелы.
Их нет в вашем списке, так почему вы ожидаете, что они сработают?