C# winFrom 如何实现文本框只能输入像时间那样格式的文本
4个回答
展开全部
最好使用正则表达式,首先要引入using System.Text.RegularExpressions;命名空间
//不带时间的日期格式判断正则表达式
var reg = /^((((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-))$/;
//带时间的日期格式判断正则表达式
var reg = /^((((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$/;
Regex re = new Regex(reg);
string date=textbox1.Text;//获得文本框输入的值
if (re.IsMatch(date))
{
MessageBox.Show("输入正确");
}
else
{
MessageBox.Show("输入错误");
}
//不带时间的日期格式判断正则表达式
var reg = /^((((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-))$/;
//带时间的日期格式判断正则表达式
var reg = /^((((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$/;
Regex re = new Regex(reg);
string date=textbox1.Text;//获得文本框输入的值
if (re.IsMatch(date))
{
MessageBox.Show("输入正确");
}
else
{
MessageBox.Show("输入错误");
}
追问
var???这是什么数据类型??winForm
展开全部
用dateTimePicker控件
Format属性设为Time
ShowUpDown属性设为True
为样只通输入如23:59:59
取其中的文本为:
textBox1.Text = dateTimePicker1.Text;
Format属性设为Time
ShowUpDown属性设为True
为样只通输入如23:59:59
取其中的文本为:
textBox1.Text = dateTimePicker1.Text;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请说明你具体要哪种格式,格式不一样,代码也不一样。
你是要2011-1-1 还是 20:20:30
你是要2011-1-1 还是 20:20:30
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那你就要后台判断了,txt.tex.tostring("yyMMdd")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询