【发布时间】:2019-03-12 07:26:04
【问题描述】:
我的任务是制作一个文本框,您可以在其中输入您的个人密码(我们在拉脱维亚使用的密码)。我需要在保存信息之前对其进行验证。为了验证,我一直在使用正则表达式,但到目前为止没有结果。
我们的个人代码是这样的:XXYYZZ-ABCDE,其中 XXYYZZ 是 DAYMONTHYEAR 中的日期格式,ABCDE 是随机数。
if (per_kods.Text.Trim() != string.Empty)
{
mRegxExpression = new Regex("${day}-${month}-${year}-#####$");
if (!mRegxExpression.IsMatch(per_kods.Text.Trim()))
{
label7.Text = "";
}
else
{
label7.ForeColor = Color.Red;
label7.Text = "Personas kods ievadīts nepareizi!";
pareizi = false;
}
}
目前这是我的代码。它基本上启用了文本框上方的标签,指出输入的信息是错误的。如果信息正确,标签将继续被禁用。但是现在新的 Regex 部分是一个问题。我知道这可能看起来完全错误,但我刚刚开始学习正则表达式,不知道什么是错的,什么是对的。
【问题讨论】:
-
您能否显示有效(和无效)的输入?
-
i.imgur.com/BMFTgYq.png 有效部分的代码编写正确,因此未启用任何标签。无效部分的代码错误,因为我输入了 24 个月,这是错误的。当没有启用标签时会显示消息框,但应该有,因为个人代码编写不正确,但我的正则表达式没有看到它不正确,所以它没有启用''if''使标签能够发出错误信号。
-
请将信息添加为文本,而不是屏幕截图。如果我正确理解 C#,Regex 类 (docs.microsoft.com/en-us/dotnet/api/…) 采用标准正则表达式语法。所以你需要
^[0123]\d[01]\d\d\d-[A-Z]{5}$进行验证。 -
我知道这是一个老话题,但他们停止在代码的第一部分使用日期。最后一位是校验和
标签: c# regex validation textbox