C#判断输入日期格式是否正确

    /// <summary>
    /// 是否为日期型字符串
    /// </summary>
    /// <param name="StrSource">日期字符串(2008-05-08)</param>
    /// <returns></returns>
    public static bool IsDate(string StrSource)
    {
        return Regex.IsMatch(StrSource, @"^((((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-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");
    }
    /// <summary>
    /// 是否为时间型字符串
    /// </summary>
    /// <param name="source">时间字符串(15:00:00)</param>
    /// <returns></returns>
    public static bool IsTime(string StrSource)
    {
        return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$");
    }

    /// <summary>
    /// 是否为日期+时间型字符串
    /// </summary>
    /// <param name="source"></param>
    /// <returns></returns>
    public static bool IsDateTime(string StrSource)
    {
        return Regex.IsMatch(StrSource, @"^(((((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)$ ");
    }
 //是否是整数
public static bool IsInt(string StrSource)
{
    return Regex.IsMatch(StrSource, @"^[0-9]*$");
}  
//判断是否为日期格式
 public bool IsDate(string strDate)
{
    try
   {
    DateTime.Parse(strDate);
    return true;
   }
    catch
  {
      return false;
  }
}

yyyy/MM/dd格式
^(?\d{2,4})/(?\d{1,2})/(?\d{1,2})$

yyyy-MM-dd格式

^(?\d{2,4})-(?\d{1,2})-(?\d{1,2})$

yyyy.MM.dd 格式

^(?\d{2,4})..$

yyyy年MM月dd日格式 (可以不包含年和日)

^((?\d{2,4})年)?(?\d{1,2})月((?\d{1,2})日)?$

yyyy年MM月dd日格式(MM、dd为中文数字)

^((?\d{2,4})年)?(正|一|二|三|四|五|六|七|八|九|十|十一|十二)月((一|二|三|四|五|六|七|八|九|十){1,3}日)?$

yyyy年MM月dd日格式(年月日均为中文数字)

^(零|〇|一|二|三|四|五|六|七|八|九|十){2,4}年((正|一|二|三|四|五|六|七|八|九|十|十一|十二)月((一|二|三|四|五|六|七|八|九|十){1,3}(日)?)?)?$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值