[VB.NET]TextBoxで入力の文字列が数値かどうか判定する

2021年10月22日

説明
ボタン名: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

実行結果

「aa11」を入力し、ボタンを押下すると、「ユーザー名が数字入力してください」が表示されます。

VB.net

Posted by arkgame