2016-10-10 28 views
0

私は検証の一部をスキップして、テキストボックスに入れたくないものはできないようにしたいと思います。vb.netのテキストボックスに特殊文字はありません

d、r、i(上下)のスペース、スペース、および文字を入力できます。

特別な文字は、{}、のように入力しない得るように、どのように私はそれを行うことができます;!?データをフィルタリングする場合はブロックのカップルと」など

Private Sub txtParty_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtParty.KeyPress 
    'allows only numbers, letter, space, and backspace 
    If Char.IsControl(e.KeyChar) = False And Char.IsSeparator(e.KeyChar) = False And Char.IsLetterOrDigit(e.KeyChar) = True And e.KeyChar <> "d" And e.KeyChar <> "D" And e.KeyChar <> "r" And e.KeyChar <> "R" And e.KeyChar <> "i" And e.KeyChar <> "I" Then 
     e.Handled = True 
    End If 
End Sub 
+0

あなたは、クライアント側の検証で正規表現を使用することができます。このASPです。ネットW ebフォーム? – Win

+0

MSDNのTextBoxに正規表現検証を追加するhttps://msdn.microsoft.com/en-us/library/ms996428.aspx –

答えて

2

はおそらく容易になります。もちろん

Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) 
           Handles TextBox1.KeyPress 
    If e.KeyChar <> ControlChars.Back AndAlso e.KeyChar <> " " Then 
    If Not Char.IsLetter(e.KeyChar) OrElse 
     Not "DRI".Contains(e.KeyChar.ToString.ToUpper) Then 
     e.Handled = True 
    End If 
    End If 
End Sub 

、あなたはまだテキストボックスに貼り付けテキストを防ぐには、Ctrl-Vを傍受しているContextMenuStripを削除する必要があります。

関連する問題