[VB.NET]TextBoxで入力の文字列が数値かどうか判定する
説明
ボタン名:cmdAdd
TextBox名:txtUser
正規表現式
Regex.IsMatch(文字列, “^[0-9]*$")
使用例
Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click
Dim chkRet As Boolean
'CheckInputメソッドを呼び出す テキストボックスの名前:txtUser
chkRet = CheckInput(Me.txtUser, "ユーザー名")
End Sub
''' <summary>
''' 数字以外の入力がないかチェック
''' </summary>
''' <param name="objCtrl">チェック対象</param>
''' <param name="strName">項目名</param>
''' <returns>正常/異常</returns>
''' <remarks></remarks>
Public Function CheckInput(ByVal objCtrl As Control, ByRef strName As String) As Boolean
If Regex.IsMatch(objCtrl.Text, "^[0-9]*$") Then
Return True
End If
Dim strMsg As String
strMsg = strName + "が数字入力してください"
'メッセージボックスの表示
MessageBox.Show(strMsg, "タイトル", MessageBoxButtons.OK)
'テキストボックスのフォーカス
objCtrl.Focus()
End Function
Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click
Dim chkRet As Boolean
'CheckInputメソッドを呼び出す テキストボックスの名前:txtUser
chkRet = CheckInput(Me.txtUser, "ユーザー名")
End Sub
''' <summary>
''' 数字以外の入力がないかチェック
''' </summary>
''' <param name="objCtrl">チェック対象</param>
''' <param name="strName">項目名</param>
''' <returns>正常/異常</returns>
''' <remarks></remarks>
Public Function CheckInput(ByVal objCtrl As Control, ByRef strName As String) As Boolean
If Regex.IsMatch(objCtrl.Text, "^[0-9]*$") Then
Return True
End If
Dim strMsg As String
strMsg = strName + "が数字入力してください"
'メッセージボックスの表示
MessageBox.Show(strMsg, "タイトル", MessageBoxButtons.OK)
'テキストボックスのフォーカス
objCtrl.Focus()
End Function
Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click Dim chkRet As Boolean 'CheckInputメソッドを呼び出す テキストボックスの名前:txtUser chkRet = CheckInput(Me.txtUser, "ユーザー名") End Sub ''' <summary> ''' 数字以外の入力がないかチェック ''' </summary> ''' <param name="objCtrl">チェック対象</param> ''' <param name="strName">項目名</param> ''' <returns>正常/異常</returns> ''' <remarks></remarks> Public Function CheckInput(ByVal objCtrl As Control, ByRef strName As String) As Boolean If Regex.IsMatch(objCtrl.Text, "^[0-9]*$") Then Return True End If Dim strMsg As String strMsg = strName + "が数字入力してください" 'メッセージボックスの表示 MessageBox.Show(strMsg, "タイトル", MessageBoxButtons.OK) 'テキストボックスのフォーカス objCtrl.Focus() End Function
実行結果
「aa11」を入力し、ボタンを押下すると、「ユーザー名が数字入力してください」が表示されます。