2017-02-03 21 views
0

Я хочу проверить текстовое поле с событием keyPress. Он должен допускать алфавиты и «(» и «)« Я написал код для проверки алфавита, но не знаю, как проверить »(« и »)».Проверка текста: разрешить только алфавиты и простые скобки »(« и »)« vb.net

 Private Sub txtBankName_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtBankName.KeyPress 
    If Not (Asc(e.KeyChar) = 8) Then 
     If Not ((Asc(e.KeyChar) >= 97 And Asc(e.KeyChar) <= 122) Or (Asc(e.KeyChar) >= 65 And Asc(e.KeyChar) <= 90) Or Asc(e.KeyChar) = 32) Then 
      e.KeyChar = ChrW(0) 
      e.Handled = True 
     End If 
    End If 
End Sub 

ответ

1

Это позволяет все письма и "(" & ")". Обратитесь к этим двум SO вопросам:
How can I validate a string to only allow alphanumeric characters in it?
Only allow specific characters in textbox

Private Sub txtBankName_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtBankName.KeyPress  
    If System.Text.RegularExpressions.Regex.IsMatch(e.KeyChar.ToString(), "[^a-zA-Z0-9()\b]") Then 
     e.Handled = True 
    End If 
End Sub 
+0

Я получаю сообщение об ошибке рядом с "@" – user3422209

+0

@ user3422209 Я просто конвертируюсь моими C# код в VB.net. Это всего лишь стенографический литерал. Попробуйте мой обновленный код. Просто удалил "@". – Hexxed

+0

Большое спасибо .. но это принимает [] скобки тоже .. Не следует принимать – user3422209