Проверьте длину строкового параметра и специальный символ - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь проверить строковый параметр не менее 8 символов, максимальная длина 32 и содержит как минимум один специальный символ.Это то, что у меня есть:

[Parameter(Mandatory)]
[ValidateLength(8, 32)]
[ValidateScript({ $_ -match '[^a-zA-Z0-9]' })]
[string]$Param1

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

1 Ответ

0 голосов
/ 05 июня 2018

Попробуйте

{
[ValidateScript(
{
    $_ -match "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$@!%&])[A-Za-z\d#$@!%&]{8,32}$"
})]
}

Соответствует от 8 до 32 символов, имеет как минимум 1 верхний регистр, 1 строчную букву, одно число и специальный символ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...