我只是想验证一个参数是否仅由字母数字字符组成。我已经尝试过了,但它的行为不像我想要的那样:
param(
[ValidatePattern('[a-zA-Z0-9]')]$someVariableThatShouldOnlyContainAlphaNumerics = 'something_with_underscores'
)
write-host $someVariableThatShouldOnlyContainAlphaNumerics
返回:
something_with_underscores
我显然遗漏了一些明显的东西。有什么建议吗?
最佳答案
ValidatePattern
支持正则表达式。如果模式匹配,则验证字符串。您没有验证字符串中的所有字符...只是 一个!
更改正则表达式模式以匹配整个字符串是一种方法。其他正则表达式也足够了。
[ValidatePattern('^[a-zA-Z0-9]+$')]$someVariableThatShouldOnlyContainAlphaNumerics = 'something_with_underscores'
请注意,设置默认值将绕过此验证,因为它不会传递给函数。
关于powershell - 验证 PowerShell 参数是否为字母数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35506216/