anybody can help me with a regex for Date in this format dd.MM.yyyy
I want to use it with a dataannotation like this
[RegularExpression(@"theregex")]
public DateTime Date {get;set;}
anybody can help me with a regex for Date in this format dd.MM.yyyy
I want to use it with a dataannotation like this
[RegularExpression(@"theregex")]
public DateTime Date {get;set;}
^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$
This one also accepts - and / as separators. You can remove them if you want.
[0-3]{0,1}[0-9]\.[0-1]{0,1}[0-9]\.[0-9]{4,2}
matches:
28.2.96
, 1.11.2008
and 12.10.2005
^(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)[0-9]{2}$
This regex matches 01.01.1900
, 01.01.2000
but doesn't match 1.1.2000
or 1/1/00
.
I suggest that regex is not exactly the best way to do this. You haven't given the context, so it's hard to guess what you're doing overall... but you might want to create a DateExpression
attribute or such and then do:
return DateTime.ParseExact(value, "dd.MM.yyyy");
in wherever your converter is defined.
Just because I always find this site useful, here is an online regex checker. On the right hand side it also has examples and community contributions. In there are a number of Date matching regex variations.
You can type in a load of dates you wish to match and try some of the different examples if you're not sure which is best for you. As with anything, there are multiple ways to solve the problem, but it might help you choose the one that fits best.