Проверка входных данных PowerShell - входные данные НЕ должны быть ВСЕМИ числами - PullRequest
0 голосов
/ 04 июня 2018

У меня есть следующий код, который хорошо работает для проверки длины ...

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 голосов
/ 13 июля 2018

Это можно легко сделать с помощью регулярных выражений, таких как:

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

Краткое объяснение: первое выражение ищет буквенно-цифровую строку, а второе отбрасывает чисто числовые записи.

ПоКстати, в вашем примере вы используете $NewID, а затем $WS_NewName в Until выражении, что может сбить с толку (однако, я полагаю, вы просто забыли изменить его при вставке здесь)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...