1
我有一些代码行为奇怪,我不知道为什么。我试图验证用户输入是一个数字,它是小于255.很容易。powershell用户输入验证不接受有效输入
问题是26到99之间的数字在我的测试中对我无效。 1-25都很好,100+看起来也不错。但由于某种原因,26-99让我陷入了循环。
DO
{
$ip_addr_first = Read-Host 'enter a number less than 255'
} while ($ip_addr_first -notmatch '\p{Nd}+' -or $ip_addr_first -gt 255)
write-host 'You entered' $ip_addr_first
建议欢迎问题在哪里,因为我在这里感到茫然。
感谢...剧组对我来说是一个新的,因为我只是在学习Powershell的 –
@PS_newbie:我的荣幸;在PowerShell中,您通常不必担心类型,但有时您会这样做 - 通常,值得了解底层(.NET)类型以及如何对它们进行检查('Get-Member')并进行转换。我的另一种解决方案向您展示了如何在初始化过程中键入约束一个变量(一种持久性强制转换,以一种说话的方式)。 – mklement0