在c#中如何判断textbox中用户输入的数据是否为日期型?

如题所述

在c#中textbox中输入的数据都是字符串类型的string
只能判断用户输入的数据是否能转为日期型
//生成一个KeyPress事件,输入数据完成后点击Enter键,然后做判断
private void textbox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
try
{
DateTime.Parse(textBox.Text);
MessageBox.Show("是日期型的");
}
catch
{
MessageBox.Show("不是日期型的");
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-28
用正则表达式来判定。

string pattern = @"\d+";//一到二位数字
string strAge = "20";//this.txtAge.Text.Trim();
if (!System.Text.RegularExpressions.Regex.IsMatch(strAge, pattern))
{
MessageBox.Show("年龄请输入数字类型!")
}
你的串号我已经记下,采纳后我会帮你制作
第2个回答  推荐于2016-02-02
方法很多啊,我这里有个使用正则表达式的
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)$ ");

}

使用方法就是获取TextBox的Text属性值,传入上边的方法,如果返回True,就是日期,否则就不是日期。本回答被提问者和网友采纳
第3个回答  2010-11-27
使用楼上的正则方法或者使用
DateTime.TryPrase( )方法,用法详见MSDN
第4个回答  2010-11-27
textbox属性里面有一个属性具体是什么我忘了。 把那个设置成DATE类型就可以了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网