验证数据格式化PowerShell

时间:2016-06-23 23:52:39

标签: validation date powershell

我知道可能无法做我需要的事情,但我正在寻找一种确保用户以正确格式输入日期的方法。 我已经编写了一段代码,可以验证DD(日)部分在13-31之间的日期,但我正在努力解决DD在1-12之间的日期

代表: 我可以验证这个日期2016年6月23日并将其修复为06/23/2016 但我无法确保正确输入6月12日。 如果有人会输入2016年6月12日,根据定义,它是一个有效的日期,但不是我需要的日期(06/12/2016),我无法确保日期是我想要的日期它是

如果任何人可以请求我解决方案,我们将非常感激

如果它有任何区别,这是我的代码:

$Date = $args[0]
$Time = $args[1]

try
{
    $tmpDate = $Date +" " +$Time
    [DateTime]$UserDate = $tmpDate
}
catch
{
    $tmp = $Date
    $tmp -match "(?<d>.*)/(?<m>.*)/(?<y>.*)">$null
    $_Date = $matches['m']+"/"+$matches['d']+"/"+$matches['y']
    $tmpDate = $_Date +" " +$Time
    try
    {
        [DateTime]$UserDate = $tmpDate
    }

    catch
    {
        write-host "Error: The Given Date was not recognized as a valid Date, Please Try again" -ForegroundColor Red 
        Exit 808040
    }


}

1 个答案:

答案 0 :(得分:0)

大多数程序的工作方式是它们要求用户以可接受的格式输入日期。在输入框或提示符附近显示YYYY/MM/DD之类的内容将有助于用户了解将接受的程序。然后,无论用户输入什么,您都可以单独验证每个部分,并警告用户日期的任何部分是否错误。