ヘッダー

VB.NET2002対応 VB.NET2003対応 VB2005対応

 

Visual Basic 中学校 > VB.NET サンプル > System.Windows.Forms.TextBox >

数字以外の入力をエラーにする

以下の例は正規表現を使用して数字以外の文字が存在するか調べる。存在する場合はメッセージを表示してエラーにする。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating

    If
System.Text.RegularExpressions.Regex.IsMatch(TextBox1.Text, "[^0-9]+")
Then
       
MsgBox("数字以外の文字は入力できません。")
        e.Cancel =
True
   
End If

End Sub

メモ:入力チェックはOKボタンや保存ボタンが押されたタイミングで一括して行うことをお勧めします。

 

以下の例は上記の例と同じ動作をするが、正規表現を使わない構造を採用したもの。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating

    Dim
i As
Integer
   
Dim Letter As String

   
For i = 1 To Len(TextBox1.Text)

        Letter = Mid(TextBox1.Text, i, 1)

        Select
Case Letter
            Case "0", "1", "2", "3", "4", "5", "6", "7", "8",
"9"
           
Case Else
               
MsgBox("数字以外の文字は入力できません。")
                e.Cancel =
True
               
Return
       
End Select

   
Next

End Sub

メモ:入力チェックはOKボタンや保存ボタンが押されたタイミングで一括して行うことをお勧めします。