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

解决方案 »

  1.   

    <script  language="JavaScript"  type="text/JavaScript">  
       function  chkdate()  
    {  
               var  datestr;  
               datestr=form1.tom.value;  
               var  lthdatestr;  
               if  (datestr  !=  "")  
                           {lthdatestr=  datestr.length}  ;  
               else  
                           {lthdatestr=0};              
               var  tmpy="";  
               var  tmpm="";  
               var  tmpd="";  
               var  status;  
               status=0;  
               if  (  lthdatestr==  0)  
                           {return  (false)};                                      
               for  (i=0;i<lthdatestr;i++)  
               {            if  (datestr.charAt(i)==  '-')  
                           {  
                                       status++;  
                                       alert("bbb")  
                           }  
                           if  (status>2)  
                           {  
                                       return  (false);  
                           }  
                           if  ((status==0)  &&  (datestr.charAt(i)!='-'))  
                           {  
                                       tmpy=tmpy+datestr.charAt(i);  
                           }  
                           if  ((status==1)  &&  (datestr.charAt(i)!='-'))  
                           {  
                                       tmpm=tmpm+datestr.charAt(i);  
                           }  
                           if  ((status==2)  &&  (datestr.charAt(i)!='-'))  
                           {  
                                       tmpd=tmpd+datestr.charAt(i);  
                           }  
     
               }  
               year=new  String  (tmpy);  
               month=new  String  (tmpm);  
               day=new  String  (tmpd);  
               if  ((tmpy.length!=4)    &brvbar;  &brvbar;  (tmpm.length!=2)    &brvbar;  &brvbar;  (tmpd.length!=2))  
               {  
                           return  (false);  
               }  
               if  (!((1<=month)  &&  (12>=month)  &&  (31>=day)  &&  (1<=day))  )  
               {  
                           return  (false);  
               }  
               if  (!((year  %  4)==0)  &&  (month==2)  &&  (day==29))  
               {  
                           return  (false);  
               }  
               if  ((month<=7)  &&  ((month  %  2)==0)  &&  (day>=31))  
               {  
                           return  (false);  
                 
               }  
               if  ((month>=8)  &&  ((month  %  2)==1)  &&  (day>=31))  
               {  
                           return  (false);  
               }  
               if  ((month==2)  &&  (day==30))  
               {  
                           return  (false);  
               }  
               return  (true);  
    }  
    </script>  
     
    <form  method="POST"  action="02.asp"  language="JavaScript"  name="form1"  >  
     
           <input  type="text"  name="tom"  size="20"  style="font-size:  9PT;  color:  #000000;  border:  1px  solid  #000000;  padding:  0;    maxlength="10">  
           <input  type="button"  name="Button"  value="Button"  onclick="chkdate()">  
    </form>  
     
    </body>  
     
    </html>  
     
    ---------------------------------------------------------------  
     
    //判断日期型  
    function  IsDate(DateString  ,  Dilimeter)  
    {  
    if  (DateString==null)  return  false;  
    if  (Dilimeter==''    &brvbar;  &brvbar;  Dilimeter==null)  Dilimeter  =  '-';  
    var  tempy='';  
    var  tempm='';  
    var  tempd='';  
    var  tempArray;  
    if  (DateString.length<8    &brvbar;  &brvbar;  DateString.length>10)  return  false;  
    tempArray  =  DateString.split(Dilimeter);  
    if  (tempArray.length!=3)  return  false;  
    //if  (tempArray[0].length==4)  
    //{  
               tempy  =  tempArray[0];  
               tempd  =  tempArray[2];  
    //}  
    //else  
    //{  
    //            tempy  =  tempArray[2];  
    //            tempd  =  tempArray[1];  
    //}  
    tempm  =  tempArray[1];  
    var  tDateString  =  tempy  +  '/'+tempm  +  '/'+tempd;  
    var  tempDate  =  new  Date(tDateString);  
    if  (isNaN(tempDate))  return  false;  
     
    if  (((tempDate.getUTCFullYear()).toString()==tempy)  &&  (tempDate.getMonth()==myparseInt(tempm)-1)  &&  (tempDate.getDate()==myparseInt(tempd)))  
    {  
               return  true;  
    }  
    else  
    {  
               return  false;  
    }  
    }  
     
    //去掉月份或日期前的0,比如2003-02-04  ->2003-2-4  
    function  myparseInt(num)  
    {  
               var  tempnum=num  +  "";  
               while(tempnum.substr(0,1)=="0")  {  
                           tempnum=tempnum.substr(1);  
               }  
               return(parseInt(tempnum));              
    }  
    ---------------------------------------------------------------  
     
    以前写的一个可以自由指定日期格式的:  
     
    <SCRIPT  LANGUAGE="JavaScript">  
    <!--  
    function    getDateByMask(s,m){      
               if  (s.length!=m.length){  
                           return  false;  
               }  
               try{  
                           m=m.replace(/Y/g,"y").replace(/D/g,"d");  
                           if  (m.indexOf("yyyy")>-1)    
                                       return    new    Date(              
                                                                                                   s.substr(m.indexOf("yyyy"),4),  
                                                                                                   s.substr(m.indexOf("MM"),2)-1,  
                                                                                                   s.substr(m.indexOf("dd"),2)  
                                                                                       )  
                                       else  return    new    Date(  
                                                                                                   s.substr(m.indexOf("yy"),2),  
                                                                                                   s.substr(m.indexOf("MM"),2)-1,  
                                                                                                   s.substr(m.indexOf("dd"),2)  
                                                                                       )  
                           }  
               catch  (e)  
                           {  
                           return  null;  
                           }  
               }
      

  2.   

    用CompareValidator 控件就可以了
    它可以判断的饿