string _regex_Date = "^(?:(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\\/|-)(?:0?2\\1(?:29))$)|(?:(?:1[6-9]|[2-9]\\d)?\\d{2})(\\/|-)(?:(?:(?:0?[13578]|1[02])\\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\\2(?:0?[1-9]|1\\d|2[0-8]))$";

解决方案 »

  1.   

    找到一个:^2\d{3}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|[1-2]\d|3[0-1])这个:^2\d{3}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|[1-2]\d|3[0-1])(?:0?[1-9]|1\d|2[0-3]):(?:0?[1-9]|[1-5]\d):(?:0?[1-9]|[1-5]\d)$  是yyyy-mm-rr hh:mm:ss吧?(24小时的)
      

  2.   

    "\d{4}-\d{1,2}-\d{1,2}"
    ------------------------------
    这个估计不行,月份只有1-12,日期也只有1-31
      

  3.   

    使用RegularExpressionValidator控件,设置ValidationExpression为上面各位给的表达式
      

  4.   

    严格的日期验证包括格式和逻辑上的合法性!
    ^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][
    0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|
    (2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))
    -(29|30)))))$Matches:  [2002-01-31], [1997-04-30], [2004-01-01]  [ More Details]  
    No-Matches:  [2002-01-32], [2003-02-29], [04-01-01]
      

  5.   

    shoutor(土人制造) 兄,你说的就是我要做的。所以来这里求这个正则式啊。
    qiushuangqun(秋秋双飞) ,太爱你了。呵呵~
      

  6.   

    ^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][
    0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|
    (2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))
    -(29|30)))))$No-Matches:大于2099-12-31
      

  7.   

    function cDate(str) { //8位标准日期控制20040101  
    var reg = /^(\d{4})(\d{2})(\d{2})$/; 
    var r = str.match(reg); 
    if(r==null)return false; 
    r[2]=r[2]-1; 
    var d= new Date(r[1], r[2],r[3]); 
    if(d.getFullYear()!=r[1])return false; 
    if(d.getMonth()!=r[2])return false; 
    if(d.getDate()!=r[3])return false; 
    return true;
    }
      

  8.   

    <script>
    function isDate(str)
    {
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
        result = str.match(reg);
        if(result == null)return false;
        var d = new Date(result[1],result[3]-1,result[4])
        var newStr = d.getFullYear()+result[2]+(d.getMonth()+1)+result[2]+d.getDate();
        return str == newStr
    }
    alert(isDate("2004-5-1"))
    alert(isDate("2004-5-32"))
    alert(isDate("2004-2-30"))
    </script>