PowerShell输入验证 - 输入不应是所有数字

时间:2018-06-04 08:44:30

标签: validation input

我有以下代码,可以很好地验证长度......

DO {
    $NewID = Read-Host -Prompt " NEW ID NAME of object (8-15 chars)   "
} UNTIL ($NewID.Length -gt 7 -and $WS_NewName.Length -lt 16)

如何包含确保输入包含ALPHA或ALPHANUMERIC字符串的代码,但不包含纯粹的NUMERIC字符串?

1 个答案:

答案 0 :(得分:1)

使用正则表达式可以很容易地做到这一点:

($NewID -match '^[A-z0-9]*$') -and ($NewID -notmatch '^[0-9]*$')

简短说明:第一个表达式查找字母/字母数字字符串,第二个表达式丢弃纯数字条目。

顺便说一句,在您的示例中,您先使用$NewID然后在$WS_NewName表达式中使用Until,但这可能会造成混淆(但是,我想您只是忘了在粘贴此处时进行更改) )