我想检查一个字符串是否属于ABC123类型。C#检查字符串是否属于ABC123
- 字符串的长度必须是6
- 只有字母和数字是允许的。
- 字符串的前三个值必须是字母。
这就是我所做的。我如何改进代码?
private void ValidationOfFlightCode(string flightCode)
{
if (flightCode.Length == 6)
{
bool state = Regex.IsMatch(flightCode, @"^[a-zA-Z0-9]+$");
if (state)
{
bool isLetter = false;
for (int i = 0; i < 3; i++)
{
isLetter = Char.IsLetter(flightCode, i);
if (!isLetter)
break;
}
if (isLetter)
{
MessageBox.Show(flightCode + ": " + state);
}
else
{
MessageBox.Show("The letters must be before the numbers");
}
}
else
{
MessageBox.Show("Only letters and numbers are allowed!");
}
}
else
{
MessageBox.Show("Flight Code must be 6 characters long");
}
}
你是否需要针对每个错误的特定错误消息?否则,这个正则表达式将完成这项工作:'[A-Z] {3} [A-Z0-9] {3}'。 – alexn 2013-04-21 13:35:56