Я написал регулярное выражение, которое должно проверять строку, используя следующие правила:
- Первые четыре символа должны быть буквенно-цифровыми.
- За альфа-символами следуют 6 или 7 числовых значений для общей длины 10 или 11.
Итак, строка должна выглядеть так, если она действительна:
CCCCNNNNNN или CCCCNNNNNNN
C - любой символ, а N - число.
Мое выражение написано: @"^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$";
Код соответствия с регулярным выражением выглядит следующим образом:
var cc1 = "FOOBAR"; // should fail.
var cc2 = "AAAA1111111111"; // should succeed
var regex = @"^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$";
Match match = Regex.Match( cc1, regex, RegexOptions.IgnoreCase );
if ( cc1 != string.Empty && match.Success )
{
//"The Number must start with 4 letters and contain no numbers.",
Error = SeverityType.Error
}
Я надеюсь, что кто-то сможет взглянуть на мое выражение и предложить некоторые отзывы об улучшениях для создания правильного соответствия.
Также, правильно ли использую .Match()
? Если Match.Success
- true
, значит, это означает, что строка действительна?