首页 > 代码库 > asp.net 如何验证yyyy-mm-dd格式的日期

asp.net 如何验证yyyy-mm-dd格式的日期

方法一:

  //日期格式yyyy-mm-dd      
  <asp:rangevalidator   id="vldRngDate"   runat="server"   CssClass="main"   ErrorMessage="日期必须在1900~2500之间"   ControlToValidate="txtDate"   Display="None"   MinimumValue="http://www.mamicode.com/1900-01-01"   MaximumValue="http://www.mamicode.com/2500-12-31"   Type="Date"></asp:rangevalidator>

 

方法二:

//验证是否为空  
  <asp:RequiredFieldValidator   id="RequiredFieldValidator1"   runat="server"   ErrorMessage="RequiredFieldValidator"   Display="Dynamic"   ControlToValidate="TextBox"></asp:RequiredFieldValidator>   


  //工具箱--->选择CompareValidator-->ControlToValidate为需要验证的输入框-->Operatoe为你要验证的方式-->Type为你需要验证的类型  
  //验证是否是日期格式的  
  <asp:CompareValidator   id="CompareValidator1"   runat="server"   ErrorMessage="CompareValidator"   Display="Dynamic"   ControlToValidate="TextBox"   Operator="DataTypeCheck"   Type="Date"></asp:CompareValidator>

方法三:

//正则表达式   
    
  //出错警告并允许焦点离开:  
  <asp:TextBox><   id="textbox1"   onChange="ValidateDataType(   ‘Date‘   )   "   runat=server>  
  </asp:TextBox>  
   
  //出错警告并不允许焦点离开:  
  <asp:TextBox><   id="textbox1"   onBlur="ValidateDataType(   ‘Date‘   )   "   runat=server>  
  </asp:TextBox>  
   
   
  <JavaScript>  
  function   ValidateDataType(   strDataType   )    
  {  
  var   Reg   ;  
  var   sExample  
  if   (   strDataType.match(   "Curr")   )  
  {  
  Reg   =   /^(\+|-)?\d+(,\d\d\d)*(\.\d*)?$/g   ;//Deal   as   double  
  sExample   =   "\n123     +123     -123\n23456.78     -23456.78\n23,456.78     -23,456.78\n0.12     -0.12\n.12     -.12\n0     +0     -0   ";  
  }  
  else   if   (   strDataType.match(   "Date")   )  
  {  
  Reg   =   /^([1-2]\d{3})(-|\.)(0?[1-9]|10|11|12)(-|\.)(([0-2]?[1-9])|10|20|30|31)$/g   ;  
  sExample   =   "\n2003-08-24     2003.08.24\n1998-12-1     1998.12.1";  
  }  
  else   if   (   strDataType.match(   "Doub")   )  
  {  
  Reg   =   /^(\+|-)?\d+(,\d\d\d)*(\.\d*)?$/g   ;  
  sExample   =   "\n123     +123     -123\n23456.78     -23456.78\n23,456.78     -23,456.78\n0.12     -0.12\n.12     -.12\n0     +0     -0   ";  
  }  
  else   if   (   strDataType.match(   "Int")   )  
  {  
  Reg   =   /^(\+|-)?\d+(,\d\d\d)*$/g   ;  
  sExample   =   "\n23456     +23456     -23456\n23,456     -23,456\n0     +0     -0";  
  }  
  else    
  {  
  Reg   =   /^.*$/g   ;  
  sExample   =   "a2~!@#$%^&*()_+,./;‘:";  
  }  
   
  var   e   =   window.event.srcElement;  
  var   str   =   e.value.trim();  
  if   (   str   ==   ""   )   return;  
  if   (   Reg.exec(   str   ))   return;  
  alert("Error   :   The   value   [   "   +   str   +   "   ]   does   not   fit   with   the   data   type   [   "   +   strDataType   +   "   ]."  
    +   "   \n\nYou   may   follow   these   formats   :   "   +   sExample );    
  e.focus();  
  }  
  </JavaScript>  

asp.net 如何验证yyyy-mm-dd格式的日期