Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式验证日期的数字和前斜杠_C#_Asp.net_.net_Regex - Fatal编程技术网

C# 正则表达式验证日期的数字和前斜杠

C# 正则表达式验证日期的数字和前斜杠,c#,asp.net,.net,regex,C#,Asp.net,.net,Regex,您好,我正在尝试为日期mm/dd/yyyy C#编写正则表达式。 我有这个 ^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$ 但它不起作用 如何做到这一点2013年1月3日和2013年1月3日将适用于不要使用正则表达式,请使用DateTime.TryParse或DateTime.TryParseExact 还要了解当前的文化和用户的期望。美国人使用“MM/dd/yyyy”,但世界其他地区(通常)使用“dd/MM/

您好,我正在尝试为日期mm/dd/yyyy C#编写正则表达式。 我有这个

^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$
但它不起作用


如何做到这一点2013年1月3日和2013年1月3日将适用于不要使用正则表达式,请使用
DateTime.TryParse
DateTime.TryParseExact


还要了解当前的文化和用户的期望。美国人使用“MM/dd/yyyy”,但世界其他地区(通常)使用“dd/MM/yyyy”,这两种方法对于大范围的日期都是无法区分的。

我同意你应该使用
DateTime
方法。但是,如果要使前导零成为可选的,可以在它们之后添加一个
,如下所示:

^(0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$

“不起作用”是什么意思?如果您甚至不告诉我们问题,我们如何提供帮助?如果我插入日期,如mm/dd/yyyy,则表明使用“或”时正确,请记住将应与非捕获组粘在一起的单元分组。第二个括号中的表达式匹配的是0,后面是1到9之间的数字,或者是10到29之间的数字,或者是3,后面是0或1。那么您应该把这一点放在您的问题中?
3/1/2013
不是mm/dd/yyyy格式。你需要把零放在那里。或者更改您的正则表达式以使零成为可选。应用程序将仅在美国使用,我使用的是Ajax datatime Picker。如果您使用JSON输入并使用MS序列化日期,但无法对值进行tryparse,请尝试: