Jak sprawdzić czy tekst pasuje do jakiejś maski z kilku - maskedTextBox?

0

Witam,
Próbuję zrobić walidację nr rejestracyjnego: http://pl.wikipedia.org/wiki/Polskie_tablice_rejestracyjne
Jak sprawdzić czy tekst pasuje do którejś z maski? Wiem, że mogę napisać instrukcję if z lub i będzie działać, ale jak to zrobić ładniej bez kilkunastu lub.


         string[] tabMask = {"LL00000", "LL0000L", "LL000LL", "LL0L000",
                               "LL0LL00","LLLL000","LLL00LL","LLL0L00",
                               "LLL00L0","LLL00L0","LLL0LL0","LLLLL00",
                               "LLL00000","LLL000LL","LLLL00L","LLLL0LL"};

        public void ValidateIDCar(string text)
        {
            MaskedTextBox mtb = new MaskedTextBox();
            for (int i = 0; i < tabMask.Length; i++)
            {
                mtb.Mask = tabMask[i];
                if (mtb.MaskCompleted == true)
                {
                    MessageBox.Show("Jest doobry", "Komunikat");
                    break;
                }
                else
                {
                    MessageBox.Show("Jest zły", "Komunikat");
                }
            }
        }
1

Nie wiem, czy potrzebujesz w ogóle MaskedTextBox. Sam tekst sprawdzisz używając wyrażeń regularnych (regexp, http://msdn.microsoft.com/en-us/library/ms228595.aspx )

1

Nie wiem czy warto. Tych masek przybywa. Za miesiąc - za pół roku pojawi się delikwent z nową tablicą i będzie miał zonka.

Ale poczytaj o regexach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1