日期的值写在TEXTBOX1中,点击查询时怎么判断TEXTBOX1输入的值为yyyy-MM-dd格式。求C#代码。不要用验证控件验证,谢谢高手们,请指教

解决方案 »

  1.   

    用正则式判读,网上很多的。--------------------------------------------------
    我只是想另外说一句未必一定要此格式,只要是日期型就O了
    DateTime result;
    if (DateTime.tryparse(textbox1.text,out result))
    {
        //result 就是日期型的值,以后想干嘛干嘛
    }
    else
    {
        //警告:不是日期型
    }
      

  2.   

    js判断提交后给个DateTime,如果出错就说明输入有误用选择时间的控件,只允许选,不允许输入
      

  3.   

    Convert.ToDateTime(TEXTBOX1.Text).ToString(yyyy-MM-dd);
      

  4.   


    Public static bool IsDate(Object Expression){  if(Expression!=null)  {if(Expression is DateTime){  Return true;}if(Expression is string) {   DateTime time1;   Return DateTime.TryParse((string)Expression,out time1); }      }  Return false;    }
      

  5.   

     DateTime time;
                    time = Convert.ToDateTime(txtTimeForm.Text);                if (time.ToString("yyyy-MM-dd") != txtTimeForm.Text)
                    {
                        ShowMessage("输入的日期格式不正确");                    return;
                    }
    为什么不正确啊,求改正
      

  6.   


    正确的验证代码:
                DateTime time;
                if (DateTime.TryParse(TextBox1.Text, out time))
                {            }
                else
                {
                    System.Windows.Forms.MessageBox.Show("格式不正确");
                }
    你看你的代码:定义一个time的变量,然后把txt的text通过convert.todatetime方法转成datetime类型,如果txt的text是string类型或者转变不成datetime,那么就会报错。
    还有你的这个if判断,把time tostring成yyyy-mm-dd格式  != 如果操作数相等,则不等运算符 (!=) 返回 false,否则,返回 true。你这是什么逻辑?画蛇添足。
      

  7.   

    利用正则表达式 [\d]{4}-[\d]{1,2}-[\d]{1,2}
      

  8.   

    http://download.csdn.net/detail/ljx09195117/3465298
    我写的js验证
    只要添加里面的js
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
    <script src="js/DataValidation.js" type="text/javascript"></script>那么textbox只要这样就能验证Email
    <asp:TextBox id="textbox1" runat="server" ValidDataForEmail = "default"></asp:TextBox>
    就是在Textbox加一个 ValidDataForEmail = "default"属性就行
      

  9.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;namespace ConsoleApplication13
    {
        class Program
        {
            static void Main(string[] args)
            {
                string str = "1999-02-32";
                Boolean result= Regex.IsMatch(str, @"^[1-2]\d{3}-((0[1-9])|(1[0-2]))-(([0-2]?[1-9])|3[0-1])$");
                Console.Write(result);
            }
        }
    }
    太蛋疼了,日期正则写死人啊。
    上面写的没办法区分每个月有多少天。
    正则应用之——日期正则表达式
      

  10.   

    try
    {
      DateTime date=DateTime.ParseExact(TEXTBOX1.Text,   "yyyy-MM-dd",System.Globalization.CultureInfo.InvariantCulture); 
      Response.Write("是yyyy-MM-dd格式")
    }
    catch
    {
      Response.Write("不是yyyy-MM-dd格式")}