前言:
在自定义PowerShell 函数时,输入的参数是否合法可以通过正则表达式来进行约束。正则表达式来约束输入参数,将使用 ValidatePattern 指令。
之前我们通过 ValidateSet 来作为参数的智能提示,其实它也起到了对参数输入合规性的检查。因为 ValidateSet 是规定了一个输入参数的范围,不在这个范围内的参数,一是不能智能提示,另外,即便是输入了,它也无法通过函数的输入参数合规性检查,从而程序无法继续执行。
那么既然 ValidateSet 是以一个集合的形式来检查输入参数,那么说 ValidatePattern 是以正则表达式规则来对输入参数进行合规性检查,那洪哥相信您一定能理解了。下面我们看一下怎么用正则表达式对输入参数进行合规性检查:
function Get-ZIPCode {
param(
[ValidatePattern(‘^\d{6}$’)]
[String]
$ZIP
)
“Here is the ZIP code you entered: $ZIP”
}
上面是一个对输入邮编进行检查的函数,[ValidatePattern(‘^\d{6}$’)]表示使用’^\d{6}$’这个正则表达式来检查输入参数的合规性。“^\d{6}$”这个正则表达式的表示是 6 位数字,这就是邮编的格式。
所以,通过 ValidatePattern 这个指令,只要你懂正则表达式,那么你就可以对输入参数的合规进行强大的检查,从而大大提高函数的安全性。
转载请注明:汇站网 » PowerShell 函数使用正则表达式来对输入参数进行合规性检查