以下是一个日期校验的正则表达式。可以校验年月日时分秒。
但有一个问题,就是当我的日期输入含有时间时必须是完整的输入(即HH:mm:ss),而我现在需要输(HH:mm)即可,所以望各位高手帮忙改改一下这段正则表达式,成功即揭帖。
正则表达式如下:
/^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s+((([0-1]?[0-9])|([2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9]))))\s*)?$/请高手不吝赐教!

解决方案 »

  1.   

    /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s+((([0-1]?[0-9])|([2][0-3]))\:([0-5]?[0-9])((\s))?$/
      

  2.   

    /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s+((([0-1]?[0-9])|([2][0-3]))\:([0-5]?[0-9])((\s))?$/
      

  3.   

    http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5
      

  4.   

    试试这个
    ^((((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-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$
      

  5.   

    @yibin2006(美丽的邂逅) 
    好像还是不行啊,请帮我再想想。谢谢!!!
      

  6.   

    ^((((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))( (0?\d|1\d|2[0-4]):(0?\d|[1-5]\d))$测试页面
    www.17897.com/r/regextext.aspx