我是一名新的 C# 开发人员,我第一次使用正则表达式。在为我的简单项目开发验证类时,我正在使用 Regex 开发一种方法来验证用户输入的日期。日期的格式应仅为 MM/DD/YYYY。我已经开发了该方法,但它给了我不正确的验证,我不知道为什么。
这是 C# 正则表达式方法代码:
public bool ValidateDate(string dateInput)
{
Regex datePattern = new Regex("^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$");
return !datePattern.IsMatch(dateInput);
}
然后,因为我在 ASP.NET 中有以下文本框:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
代码隐藏:
protected void Button1_Click(object sender, EventArgs e)
{
Validator validator = new Validator();
if (TextBox1.Text.ToString() != "")
{
if (validator.ValidateDate(TextBox1.Text.ToString()))
{
lblMessage.Text = "Correct";
}
else
{
lblMessage.Text = "Incorrect";
}
}
else
{
lblMessage.Text = "Please enter a text";
}
}
当我尝试对这个文本框使用验证方法时,它给了我不正确的结果。例如,当我输入 2013 年 11 月 10 日时,它给了我不正确的信息。但是,当我进入 2013/11/10 时,它给了我正确的,我不知道为什么
您能帮我修复/修改此验证方法吗?