检查字符串是否具有一定长度并包含某些字母

时间:2016-11-27 00:31:13

标签: c#

所以我想检查字符串是否具有所有这些属性:

  • 长五个字符,
  • 第一个字符是以下之一:
    • O,或
    • S,或
    • J,或
    • C和
  • 最后四个字符是数字。

这是我的代码:

Console.Write("IDnumber : ");
IDnumber= Console.ReadLine();
IDnumberLength = IDnumber.Length;
if (MemberNumber.Length == 5  && 
    char.IsLetter(IDnumber[0]) &&  <-- I know how to validate any letter but not certain letter
    char.IsDigit(IDnumber[1]) && 
    char.IsDigit(IDnumber[2]) &&
    char.IsDigit(IDnumber[3]) &&
    char.IsDigit(IDnumber[4]))

2 个答案:

答案 0 :(得分:3)

您可以像这样使用Regex

var regex = new Regex("^[OSJC][0-9]{4}$");

Console.WriteLine(regex.IsMatch("J1234"));
Console.WriteLine(regex.IsMatch("J124"));
Console.WriteLine(regex.IsMatch("X1234"));

那会给你:

True
False
False

在您的代码中,您可以像这样使用它:

Console.Write("IDnumber : ");
IDnumber = Console.ReadLine();
if (Regex.IsMatch(IDnumber, "^[OSJC][0-9]{4}$"))
{
    // Success
}
else
{
    // Failed
}

答案 1 :(得分:0)

不使用正则表达式:

select * from mysql_table_name where comment like '< 4000'