我有连个TEXTBOX分别让用户输入时间,判断用户输入的时间是否合法,里面为空或者不合法都返回全部日期!
谢谢各位老师! 学生在此有礼了!
谢谢各位老师! 学生在此有礼了!
解决方案 »
- 【初学者求教】汇总分组以后,GridView如何更换字段名问题。
- <meta content="<%=webTitle %>"/> 运行后变成 content="<%=webTitle %>" 求解
- 遍历文件夹中的所有EXCEL文件,并提取文件名称,实现实现电子文档阅览或下载,求助,不会啊!!!!!!!倾分奉献!
- 不能往文本文件里写东西,求救。
- 关于asp.net后台调用前台js问题急~~~!!
- 急聘 !!!熟练使用datagrid和dropdownlist的高手!!!日薪(最后20分),小女子有事,想请大家看看!!折磨我两天了!!!
- DataTable中的某一单元的数据怎么取?
- 网站编码问题
- 一个简单的问题!送分拉!
- 请高手们解释一下Wrox公司<<ASP.NET高级编程>>中的一段话----.NET的某些缺陷。
- 为什么提示输入字符串的格式不正确,明明都是Int类型了
- 如何给iframe添加事件
YYYY-MM-DD
YYYY/MM/DD
YYYY_MM_DD
YYYY.MM.DD的形式match : 2008-2-29 2008/02/29not match : 2008-2-30 2007-2-29完整的正则表达式如下:
((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))
(((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9]))|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9]))|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9]))|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29))|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29))|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29))|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29))|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29))|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29))|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29))|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)))((\s+(0?[1-9]|1[012])(:[0-5]\d){0,2}(\s[AP]M))?$|(\s+([01]\d|2[0-3])(:[0-5]\d){0,2})?$))
<asp:TextBox ID="txtDate" runat="server" Width="90px"></asp:TextBox>
<img onclick="WdatePicker({el:document.getElementById('<%= txtIssueId.ClientID %>')})"
src="/datepicker/skin/datePicker.gif" width="16" height="22" align="absmiddle">
txtDate.Attributes.Add("readonly", "true");
这个日期正则表达式支持
YYYY-MM-DD
YYYY/MM/DD
YYYY_MM_DD
YYYY.MM.DD的形式match : 2008-2-29 2008/02/29not match : 2008-2-30 2007-2-29
完整的正则表达式如下:
((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))
闰年的2月份有29天,因此匹配闰年日期格式为YYYY-MM-DD的正则表达式为:(([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29最后,将平年和闰年的日期验证表达式合并,我们得到最终的验证日期格式为YYYY-MM-DD的正则表达式为:(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)DD/MM/YYYY格式的正则验证表达式为:(((0[1-9]|[12][0-9]|3[01])/((0[13578]|1[02]))|((0[1-9]|[12][0-9]|30)/(0[469]|11))|(0[1-9]|[1][0-9]|2[0-8])/(02))/([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}))|(29/02/(([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00)))本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LCL_data/archive/2009/07/08/4332108.aspx
下面是一个我以前做过的:
private string param1 = null; //用来保存写入当前textbox中之前一步时的字符串
private void moneytext_TextChanged(object sender, EventArgs e) //当用户输入字符时
{
string pattern = @"^[0-9]*$"; //这里放入你需要的正则表达式即可
Match m = Regex.Match(this.moneytext.Text, pattern); // 匹配正则表达式
if (!m.Success) // 输入的不是数字
{
this.moneytext.Text = param1; // textBox内容不变 // 将光标定位到文本框的最后
this.moneytext.SelectionStart = this.moneytext.Text.Length;
}
else // 输入的是数字
{
param1 = this.moneytext.Text; // 将现在textBox的值保存下来
} }