Winform之TextBox输入日期格式验证yyyy-mm-dd

时间:2023-04-14 21:35:05 


private void button1_Click(object sender, EventArgs e)
        {
            string s = textBox1.Text.ToString();
            bool b = ValidateDataTime(s);
            string rs = "";
            if (b)
            {
                rs = "true";
            }
            else
            {
                rs = "false";
            }
            MessageBox.Show(rs);
        }

        //验证方法-格式为:YYYY-MM-DD
        public static bool ValidateDataTime(string InputStr)
        {
            if (InputStr.Length >0)
            {
                if(Regex.IsMatch(InputStr.Trim(),@"^((((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-))$"))
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }
            return false;
        }

 

判断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$ 

标签:Winform,TextBox,日期格式验证
0
投稿

猜你喜欢

  • Android Studio做超好玩的拼图游戏 附送详细注释源码

    2023-08-05 12:19:16
  • C#多线程系列之线程的创建和生命周期

    2023-08-31 17:10:16
  • Android开发之利用jsoup解析HTML页面的方法

    2023-03-31 19:03:03
  • Android触屏测试实例代码

    2023-05-30 07:15:08
  • Java Calendar类使用案例详解

    2023-07-09 14:03:22
  • C#实现redis读写的方法

    2023-07-13 16:21:35
  • MyBatis中${} 和 #{} 有什么区别小结

    2021-09-21 14:42:35
  • Android 3D旋转动画效果实现分解

    2022-11-14 17:53:00
  • Android Build Variants 为项目设置变种版本的方法

    2023-04-26 10:29:07
  • Android实现背景可滑动登录界面 (不压缩背景弹出键盘)

    2023-11-14 11:09:07
  • C#中TreeView实现适合两级节点的选中节点方法

    2022-10-02 19:12:42
  • C#浅拷贝和深拷贝实例解析

    2022-09-03 02:31:05
  • Springboot集成RabbitMQ死信队列的实现

    2022-08-24 13:10:54
  • Hibernate批量处理海量数据的方法

    2023-07-30 08:12:04
  • IDEA离线安装maven helper插件的图文教程

    2023-11-28 16:00:24
  • Android Activity与Intent详解及示例代码

    2023-07-13 17:10:33
  • 详解Java程序启动时-D指定参数是什么

    2021-10-22 07:35:34
  • Android实现图片点击放大

    2023-03-19 17:40:59
  • C语言实现两个矩阵相乘

    2023-07-22 12:41:20
  • 关于springboot响应式编程整合webFlux的问题

    2023-12-07 07:25:55
  • asp之家 软件编程 m.aspxhome.com