我正在尝试验证字符串参数是否至少为8个字符,最大长度为32且至少包含一个特殊字符。这就是我到目前为止所做的:
[Parameter(Mandatory)]
[ValidateLength(8, 32)]
[ValidateScript({ $_ -match '[^a-zA-Z0-9]' })]
[string]$Param1
我不确定正则表达式是否正确?我的测试显示了不同的结果。
答案 0 :(得分:0)
尝试
{
[ValidateScript(
{
$_ -match "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$@!%&])[A-Za-z\d#$@!%&]{8,32}$"
})]
}
匹配8到32个字符,至少有1个大写字母,1个小写字母,1个数字和一个特殊字符