powershell - 验证 PowerShell 参数是否为字母数字

标签 powershell

我只是想验证一个参数是否仅由字母数字字符组成。我已经尝试过了,但它的行为不像我想要的那样:

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/

相关文章:

linux - 使用 PowerShell 测试与 Unix 服务器的连接

arrays - 比较一个数组中的字符串与另一个数组中的通配符字符串

PowerShell 功能和性能

powershell - 找不到接受参数的位置参数

powershell - PowerShell:我可以捕获所有异常的单点

powershell 如何从输出中删除 `{}@`。是否有特殊的命令来执行此操作?

c# - 从 powershell ISE 调用时无法以异步 C# 代码写入控制台

excel - 如何在 Excel 或 Powershell 中根据 IP 地址搜索域名?

shell - 我想同时在多个浏览器中打开一个链接进行测试

powershell 上的 Azure CLI 命令给出 '"c :\\\"Program' is not recognized as an internal or external command,