我现在有这个正则表达式,适用于单行文本框中的单个输入:
ValidationExpression="[A-Z]{2}[0-9]{5}"
我想要相同的验证,但对于多行文本框,每行有1个正则表达式格式。
例如。通
AB12345
CD67890
EF12345
例如。失败
AB12345 EF12345
CD67890
尝试了其他问题中给出的大多数例子,但似乎没有任何效果。
感谢您的帮助。
答案 0 :(得分:0)
您可以使用
将值拆分为数组List<string> myValues = inputString.Split(Environment.NewLine);
foreach(string row in myValues)
// do validation
这样您仍然可以自行验证每一行,并且可以返回错误的行以供用户修复。
您也可以在自定义模型属性的自定义验证属性中执行此操作。 Custom validation attribute
答案 1 :(得分:0)
这可能会帮助您满足您的要求:
String subjectString = "A12345 EF12345 C67890 AB12345 CD67890";
string[] ssize = subjectString.Split(null);
try
{
for (int i = 0; i <= ssize.Length; i++)
{
Regex regexObj = new Regex("[A-Z]{2}[0-9]{5}", RegexOptions.IgnoreCase);
Match matchResults = regexObj.Match(ssize[i]);
if (matchResults.Success)
{
label.Text += " ";
label.Text += matchResults.Value.ToString();
}
}
}