asp.net 中的时间验证(收集)

一、验证类   
  1、数字验证内   
  1.1   整数   
  /^(-|/+)?/d+$/.test(str)   
  1.2   大于0的整数   (用于传来的ID的验证)   
  /^/d+$/.test(str)   
  1.3   负整数的验证   
  /^-/d+$/.test(str)   
  2、时间类   
  2.1   短时间,形如   (13:04:06)   
  function   isTime(str)   
  {   
  var   a   =   str.match(/^(/d{1,2})(:)?(/d{1,2})/2(/d{1,2})$/);   
  if   (a   ==   null)   {alert('输入的参数不是时间格式');   return   false;}   
  if   (a[1]>24   ||   a[3]>60   ||   a[4]>60)   
  {   
  alert("时间格式不对");   
  return   false   
  }   
  return   true;   
  }   
  2.2   短日期,形如   (2003-12-05)   
  function   strDateTime(str)   
  {   
  var   r   =   str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/);   
  if(r==null)return   false;   
  var   d=   new   Date(r[1],   r[3]-1,   r[4]);   
  return   (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);   
  }   
  2.3   长时间,形如   (2003-12-05   13:04:06)   
  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]);   
  return   
  
  (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==   
  
  r[7]);   
  }    

这里是判断YYYY-MM-DD这种格式的,基本上把闰年和2月等的情况都考虑进去了。 
  
  ^((((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-))$ 

下面的是加了时间验证的 
  
  ^((((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$ 
  我把后面的^(20|21|22|23|[0-1]?/d):[0-5]?/d:[0-5]


格式是yyyy-mm-dd   (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?[0-9])|([1-2][0-3]))/:([0-5]?[0-9])))?$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值