C# 自定义日期验证格式

C# 自定义日期验证格式,c#,.net,asp.net,C#,.net,Asp.net,使用C# C#代码 页面代码 <asp:CustomValidator runat="server" id="cusCustom" controltovalidate="txtoedate" onservervalidate="cusCustom_ServerValidate" errormessage="The text must be exactly 8 characters long!" /> 上面的代码适用于长度,但我想检查如下的日期格式 “yyyy-mm-dd”,用于

使用C#

C#代码

页面代码

<asp:CustomValidator runat="server" id="cusCustom" controltovalidate="txtoedate" onservervalidate="cusCustom_ServerValidate" errormessage="The text must be exactly 8 characters long!" />

上面的代码适用于长度,但我想检查如下的日期格式 “yyyy-mm-dd”,用于检查此日期格式,如何更改我的代码


需要代码帮助吗?首先,您的日期格式不是8个字符,所以您需要将其改为10个字符。那么您最好的选择是使用您要验证的特定格式的
DateTime.TryParseExact

DateTime value;
e.IsValid = DateTime.TryParseExact(e.Value, "yyyy-MM-dd",
    CultureInfo.InvariantCulture, DateTimeStyles.None, out value);

您可以使用不变量文化,因为您只处理日期部分的数字表示,并且精确指定格式。

首先,您的日期格式不是8个字符长,因此需要将其固定为10个字符。那么您最好的选择是使用您要验证的特定格式的
DateTime.TryParseExact

DateTime value;
e.IsValid = DateTime.TryParseExact(e.Value, "yyyy-MM-dd",
    CultureInfo.InvariantCulture, DateTimeStyles.None, out value);

您可以使用不变量文化,因为您只处理日期部分的数字表示,并且精确指定格式。

使用。

使用。

为日期尝试正则表达式

为日期尝试正则表达式

哦,不,请不要使用验证日期的
try…catch
。使用
DateTime.TryParseExact
@Darin-我怎么知道
TryParse
而不是
TryParseExact
?谢谢。@Gopal-在回答中(以防你还没有注意到…)哦,不,请不要做
尝试…catch
来验证日期。使用
DateTime.TryParseExact
@Darin-我怎么知道
TryParse
而不是
TryParseExact
?谢谢。@Gopal-在回答中(如果您没有注意到的话…)我提供的链接中有一个样本,我想它不够明显,对不起。我提供的链接中有一个样本,我想它不够明显,对不起。