在c#中如何判断textbox中用户输入的数据是否为日期型?
5个回答
展开全部
在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("不是日期型的");
}
}
}
只能判断用户输入的数据是否能转为日期型
//生成一个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("不是日期型的");
}
}
}
展开全部
用正则表达式来判定。
string pattern = @"\d+";//一到二位数字
string strAge = "20";//this.txtAge.Text.Trim();
if (!System.Text.RegularExpressions.Regex.IsMatch(strAge, pattern))
{
MessageBox.Show("年龄请输入数字类型!")
}
你的串号我已经记下,采纳后我会帮你制作
string pattern = @"\d+";//一到二位数字
string strAge = "20";//this.txtAge.Text.Trim();
if (!System.Text.RegularExpressions.Regex.IsMatch(strAge, pattern))
{
MessageBox.Show("年龄请输入数字类型!")
}
你的串号我已经记下,采纳后我会帮你制作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法很多啊,我这里有个使用正则表达式的
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,就是日期,否则就不是日期。
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,就是日期,否则就不是日期。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用楼上的正则方法或者使用
DateTime.TryPrase( )方法,用法详见MSDN
DateTime.TryPrase( )方法,用法详见MSDN
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
textbox属性里面有一个属性具体是什么我忘了。 把那个设置成DATE类型就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询