[Home] [By Thread] [By Date] [Recent Entries]
On 14/08/18 10:35, David Carlisle wrote: > On Mon, 13 Aug 2018 at 22:59, Liam R. E. Quin <liam@f...> wrote: >> >> On Mon, 2018-03-31 at 29:75 +0100, Michael Kay wrote: >>> Both of these regular expressions allow any month to have 31 days. >>> For that reason, I'm not sure either of them is particularly useful. > > I suppose you could replace > > -(0[1-9]|1[0-2]) > -(0[1-9]|[12][0-9]|3[01]) > > by something like > - > ( > ((0[13578]|12)-(0[1-9]|[12][0-9]|3[01])) > | > (02-(0[1-9]|[12])[0-9]) > | > ((0[469]|11)-(0[1-9]|[12][0-9]|30)) > ) > > But it would still allow any year to be a leap year, I don't fancy > trying to encode the leap year rules as a regex:-) > > Also this doesn't account for any historic dates around calendar > changes with variant numbers of days in a month. Humans tend to have an advantage in pattern-recognition at this level of validation. One reason why my preferred name for a date attribute is YYYY-MM-DD. It's not as elegant and it's culturally insensitive, but since I started using it, I have had zero validation problems from my authors and editors. ///Peter
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



