C# 验证字符串特定位置的数字和字母的格式

C# 验证字符串特定位置的数字和字母的格式,c#,C#,我有以下字符串,由两个字母和四个数字组成,后跟两个字母,例如xy1234xy。我需要能够确定用户条目是否符合此标准 对于其他项目,我使用了Take,Skip,因为如果有其他选择,我宁愿不使用Regix: 我过去曾使用过类似的方法,但中段有问题: public static void MemberNumberInput(string checkNumberLetter) { IsValidInput = (checkNumberLetter.Take(2).All(char.IsLetter) &

我有以下字符串,由两个字母和四个数字组成,后跟两个字母,例如xy1234xy。我需要能够确定用户条目是否符合此标准

对于其他项目,我使用了
Take
Skip
,因为如果有其他选择,我宁愿不使用Regix:

我过去曾使用过类似的方法,但中段有问题:

public static void MemberNumberInput(string checkNumberLetter)
{
IsValidInput = (checkNumberLetter.Take(2).All(char.IsLetter) &
(checkNumberLetter.Skip(2).All(char.IsDigit) & 
(checkNumberLetter.Take(2).All(char.IsLetter) & 
(checkNumberLetter.Trim().Length == 8))));
}
}
谢谢大家:

小伙子

像这样怎么样

string myString = "xy1234xy";
if(Regex.IsMatch(myString, "^[A-Za-z]{2}[0-9]{4}[A-Za-z]{2}$"))
{
    // Do something
}

^[A-Za-z]{2}[0-9]{4}[A-Za-z]{2}$

这是一个。

像这样怎么样

string myString = "xy1234xy";
if(Regex.IsMatch(myString, "^[A-Za-z]{2}[0-9]{4}[A-Za-z]{2}$"))
{
    // Do something
}

^[A-Za-z]{2}[0-9]{4}[A-Za-z]{2}$

这里有一个。

如果你绝对不能使用正则表达式,我认为最简单的方法就是逐个检查它们:

return checkNumberLetter.Length == 8 &&
  checkNumberLetter[0].IsLetter() &&
  checkNumberLetter[1].IsLetter() &&
  checkNumberLetter[2].IsDigit() &&
  checkNumberLetter[3].IsDigit() &&
  checkNumberLetter[4].IsDigit() &&
  checkNumberLetter[5].IsDigit() &&
  checkNumberLetter[6].IsLetter() &&
  checkNumberLetter[7].IsLetter();
您可以在for循环或一组LINQ查询中执行此操作,但我认为这是最简单、最直接的选项。

如果您绝对不能使用正则表达式,我认为最直接的方法是逐个检查它们:

return checkNumberLetter.Length == 8 &&
  checkNumberLetter[0].IsLetter() &&
  checkNumberLetter[1].IsLetter() &&
  checkNumberLetter[2].IsDigit() &&
  checkNumberLetter[3].IsDigit() &&
  checkNumberLetter[4].IsDigit() &&
  checkNumberLetter[5].IsDigit() &&
  checkNumberLetter[6].IsLetter() &&
  checkNumberLetter[7].IsLetter();

您可以在for循环或一组LINQ查询中执行此操作,但我认为这是最简单、最直接的选项。

Regex?或者显式检查字符串中的每个位置?嘿,卡雷尔:位置必须与字符类型匹配:因此必须以上述格式的2个字母、4个数字和2个字母开头。“我不会向您展示我所做的任何努力,但请不要包含简单而适当的解决方案,因为我不想使用它。”这不是寻求帮助的最好方式Regex?或者显式检查字符串中的每个位置?嘿,卡雷尔:位置必须与字符类型匹配:因此必须以上述格式的2个字母、4个数字和2个字母开头。“我不会向您展示我所做的任何努力,但请不要包含简单而适当的解决方案,因为我不想使用它。”这不是寻求帮助的最好方式。谢谢你的回复。我通常(个人)会尝试寻找其他替代品。你的例子非常有趣,非常有帮助。谢谢您花时间。@unserageguy学习正则表达式。最棒的是,它们(基本上)在所有语言中都完全相同,用于命令行、IDE、一些网站搜索等等。这有助于你在谷歌找到工作。谢谢你的回复。我通常(个人)会尝试寻找其他替代品。你的例子非常有趣,非常有帮助。谢谢您花时间。@unserageguy学习正则表达式。最棒的是,它们(基本上)在所有语言中都完全相同,用于命令行、IDE、一些网站搜索等等。这有助于你在谷歌找到工作。