【发布时间】:2015-09-06 09:33:24
【问题描述】:
我在 asp.net 中有一个正则表达式来检查输入数据是否匹配格式 yyyy-MM-dd。但是,如果输入数据是有效日期,它总是显示“请输入有效日期”。我已经尝试了一些正则表达式,但这些也不起作用。
在 aspx 文件中
<asp:TextBox ID="DateFrom" runat="server" AutoPostBack="true" OnTextChanged="DateFrom_TextChanged"></asp:TextBox>
<asp:Image ID="Image1" runat="server" ImageUrl="IMAGES/icon-calendar.png" />
<ajaxToolkit:CalendarExtender ID="DateFrom_CalendarExtender" runat="server" Enabled="true" TargetControlID="DateFrom" Format="yyyy-MM-dd" PopupButtonID="Image1" />
<br /><asp:Label ID="DateFromMsg" runat="server" ForeColor="Red" Visible="false"></asp:Label>
在 aspx.cs 文件中
protected void DateFrom_TextChanged(object sender, EventArgs e)
{
string regExp = @"/^((19|20)\d\d+)-(0[1-9]|1[012]+)-(0[1-9]|[12][0-9]|3[01])$/";
if(!Regex.IsMatch(DateFrom.Text, regExp))
{
DateFromMsg.Visible = true;
DateFromMsg.Text = "Please enter a valid date";
return;
}
BindData();
}
注意:我的问题与这篇文章类似:link 我很抱歉重复问题,因为我真的没有注意到它,我找到了使用正则表达式的解决方案。
【问题讨论】: