我要在一个页面输入用户的信息,其中有一个textBox是填写日期的,请问怎么验证用户输入的格式符合2000-1-1这种格式呢?又或者怎么实现用户输入的月份在1-12之间,日数在1-之间呢?现在只有一个textBox啊

解决方案 »

  1.   

    if(Regex.IsMatch(start.Text,@"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$"))
    {
    errorProvider1.SetError(start,"日期格式必须为0000/00/00和0000-00-00和0000.00.00这三种格式");
    start.SelectAll();
    start.Focus();
    }
      

  2.   

    没什么头绪啊,songxiaozhao(雨朋) ,你那段我不太明白啊
      

  3.   

    是的,我就是想要那个啊,但是我不太明白啊,那个start是不是一个textBox来的,还有if(Regex.IsMatch~~~这个我不知道什么头文件?如果start不是textBox那是什么,怎么和我那个textBox联系起来?
    不好意思,问的问题有点白痴,呵呵,请见谅我还是菜鸟
      

  4.   

    支持songxiaozhao(雨朋),用正则表达式来做.
    using System.Text.RegularExpressions; 
    Regex regex=new Regex(@"^((\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])((\s)|(\:([0-5]?[0-9])))))?$");
    if(regex.IsMatch(this.TextBox1.text)==false)
    {
    Response.Write("<script>alert('请输入正确的时间!')</script>");
    this.TextBox1.Text="";
                                                  this.TextBox1.Focus();
    }