繁体   English   中英

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

[英]Validate that a PowerShell parameter is alphanumeric

我只想验证参数是否仅由字母数字字符组成。 我已经尝试过了,但是却没有我想要的那样:

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'

请注意,设置默认值将绕过此验证,因为它不会传递给函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM