用验证控件 CompareValidator 进行验证。 <asp:CompareValidator id="CompareValidator1" style="Z-INDEX: 103; LEFT: 148px; POSITION: absolute; TOP: 377px" runat="server" ErrorMessage="CompareValidator" Type="Date" Display="Dynamic"></asp:CompareValidator>

解决方案 »

  1.   

    try
    {
      DateTime dt = DateTime.Parse(textbox1.Text);
      // 成功...
    }
    catch
    {
      // 失败,日期时间不正确!
    }
      

  2.   

    客户端:日期
    <script script=javascript>
    function strDate(str){
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
    var r = str.match(reg); 
    if(r==null)return false; 
    var d= new Date(r[1], r[3]-1,r[4]); 
    var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
    return newStr==str
    }这个可以 大小月:)
    <script language="JScript">
    function isdate(strDate){  //验证时间函数
      var strSeparator = "-"; 
      var strDateArray; 
      var intYear; 
      var intMonth; 
      var intDay; 
      var boolLeapYear; 
      
      strDateArray = strDate.split(strSeparator); 
      
      if(strDateArray.length!=3) return false;
      
      intYear = parseInt(strDateArray[0],10); 
      intMonth = parseInt(strDateArray[1],10); 
      intDay = parseInt(strDateArray[2],10); 
      
      if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false; 
      
      if(intMonth>12||intMonth<1) return false; 
      
      if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) return false; 
      
      if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) return false; 
      
      if(intMonth==2){ 
         if(intDay<1) return false; 
          
         boolLeapYear = false; 
         if((intYear%100)==0){ 
            if((intYear%400)==0) boolLeapYear = true; 
         } 
         else{ 
            if((intYear%4)==0) boolLeapYear = true; 
         } 
          
         if(boolLeapYear){ 
            if(intDay>29) return false; 
         } 
         else{ 
            if(intDay>28) return false; 
         } 
      } 
      
      return true; 
    }
    </script>alert(strDate("2002/1/31"))
    alert(strDate("2002-1-31"))
    alert(strDate("2002-2-31"))
    alert(strDate("2002-1-41"))
    </script>
    -----------------------------
    时间
    <script>
    function strDateTime(str){
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
    var r = str.match(reg); 
    if(r==null)return false; 
    var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
    var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()
    return newStr==str
    }
    alert(strDateTime("2002-1-31 12:34:56"))
    alert(strDateTime("2002-1-31 12:54:56"))
    alert(strDateTime("2002-1-41 12:00:00"))
    </script>更多看这里:
    http://www.blueidea.com/bbs/archivecontent.asp?id=472344
      

  3.   

    sample:<form name=myform onsubmit="return(checkit())">
    <input type=text name=year>年<input type=text name=month>月<input type=text name=day>日
    <hr>
    <input ty[e=text name=hour>时<input type=text name=minut>分<input type=text name=second>秒
    <input type=submit name=submit value=submit>
    </form><script>
    function checkit(){
    fm = document.myform;
    // var d1  = new Date(fm.year.value,fm.month.value,fm.day.value);
    var d2  = new Date(fm.year.value,fm.month.value-1,fm.day.value,fm.hour.value,fm.minut.value,fm.second.value);
    if(d2.getFullYear() != fm.year.value) alert("year wrong");
    if(d2.getMonth()+1 != fm.month.value) alert("month wrong");
    if(d2.getDate() != fm.day.value) alert("day error");
    if(d2.getHours() != fm.hour.value) alert("hour error");
    if(d2.getMinutes()!= fm.minut.value) alert("minute error");
    if(d2.getSeconds() != fm.second.value) alert("second error");
    return(false);
    } </script>
      

  4.   

    需要客户端来做吗?太麻烦了吧.
    try
    {
    DateTime tmr=DateTime.Parse(txt.Text);
    string date=tmr.ToString("yy-MM-dd");
    string time=tmr.ToString("HH-mm-ss");
    }
    catch(Exception e1)
    {
    Response.Write("<script language='javascript'>alert('"+e1.Message+"');</script>");
    }
      

  5.   

    控件的正则表达式为:"\d{4}-\d{1,2}-\d{1,2}"
      

  6.   

    刚才没有写全,应该是:"\d{4}-\d{1,2}-\d{1,2} \d{2}:\d{2}:\d{2}"