Как исправить баг с регулярным выражением?

Сделал регулярное выражение на ввод только буквенных символов, но чисто случайно отловил баг с тем, что если к концу строки дописать цифру, то выражение все равно будет true.

Как можно поправить эту регулярку, чтобы при вводе цифры в строке выражение вернуло false

  private void nameBox_Validating(object sender, CancelEventArgs e)
    {
        if ((IsNameValid = (new Regex(@"^[a-zA-Z]")).IsMatch(nameBox.Text)) && IsPhoneValid && IsStreetValid && IsTownValid && IsPasswordValid && IsSurnameValid && IsEmailValid && IsPasswordEqual == true)
        {
            registrationButton.Enabled = true;
        }
        else
        {
            registrationButton.Enabled = false;
        }

        if(IsNameValid == true)
        {
            nameTip.Visible = false;
        }
        else
        {
            nameTip.Visible = true;
        }
    }

Ответы (1 шт):

Автор решения: Евгений

Если вам нужно проверить, состоит ли строка только из букв, вам нужно проверять всю строку, а не только её начало

Ваша регулярка: выражение начинается с буквы

^[a-zA-Z]

Регулярка: выражение начинается с множества букв

^[a-zA-Z]+

Уже ближе, но всё ещё не то.

Регулярка: выражение состоит только из букв (минимум 1 буква)

^[a-zA-Z]+$

Символ $ указывает на то, что после букв строка должна закончиться. Т.е. между началом и концом строки должны быть только буквы

→ Ссылка