日期:2014-05-18  浏览次数:20417 次

哪位大虾能能帮我找一个日期的正则表达式?
我在网上找了一个日期(yyyy-mm-dd形式)的正则表达式 是:
^((((1[6-9]|[2-9]\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\\d)\d{2})-(0?[13456789]|1 [012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]| [2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
但是这个表达式不能验证闰年的2月29日 也就是说它认为2008-02-29是错误的

谁能帮我找一个正则表达式能解决关于日期格式的所有问题?



------解决方案--------------------
建议用下面写法来验证日期:

<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtBirthday"
 Operator="DataTypeCheck" Type="date" Display="None" ErrorMessage="生日栏位,非有效日期!"></asp:CompareValidator>
------解决方案--------------------
你那段正则的最后那个29后面多了个"-",把那个横线去掉就可以了