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

 我来答
cpys520
2010-12-01 · TA获得超过2万个赞
知道大有可为答主
回答量:4017
采纳率:0%
帮助的人:1754万
展开全部
在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("不是日期型的");
}
}
}
duutl83
2010-11-28 · TA获得超过350个赞
知道答主
回答量:233
采纳率:0%
帮助的人:193万
展开全部
用正则表达式来判定。

string pattern = @"\d+";//一到二位数字
string strAge = "20";//this.txtAge.Text.Trim();
if (!System.Text.RegularExpressions.Regex.IsMatch(strAge, pattern))
{
MessageBox.Show("年龄请输入数字类型!")
}
你的串号我已经记下,采纳后我会帮你制作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猫先生Al
推荐于2016-02-02 · 超过25用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:40.9万
展开全部
方法很多啊,我这里有个使用正则表达式的
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,就是日期,否则就不是日期。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e3d7e62
2010-11-27 · TA获得超过360个赞
知道小有建树答主
回答量:470
采纳率:0%
帮助的人:398万
展开全部
使用楼上的正则方法或者使用
DateTime.TryPrase( )方法,用法详见MSDN
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chaoxu1987
2010-11-27 · 超过25用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:64.7万
展开全部
textbox属性里面有一个属性具体是什么我忘了。 把那个设置成DATE类型就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式