Vb.net 验证文本框[VB2010]中的字母数字输入

Vb.net 验证文本框[VB2010]中的字母数字输入,vb.net,vb.net-2010,Vb.net,Vb.net 2010,我是新手,我使用的是vb2010,我只是需要一些帮助 这是我的问题 我想在我的文本框上验证用户的输入,当用户输入像这样“1a1:b2b:3c3”时,我的项目应该接受它。但是当用户像这样输入“1a1b2b3c3”时,它会显示一个msgbox,格式必须是“XXX:XXX:XXX”。提前感谢您的帮助。我为您制作了一个非常快速的示例,足以让您走上正确的轨道。我本可以用另一种方式,但我相信这会让你走。我使用MaxLength来确定用户至少输入9个字符,如果不输入,就让他们知道。我还做了一个函数,将文本框的

我是新手,我使用的是vb2010,我只是需要一些帮助

这是我的问题


我想在我的文本框上验证用户的输入,当用户输入像这样“1a1:b2b:3c3”时,我的项目应该接受它。但是当用户像这样输入“1a1b2b3c3”时,它会显示一个msgbox,格式必须是“XXX:XXX:XXX”。提前感谢您的帮助。

我为您制作了一个非常快速的示例,足以让您走上正确的轨道。我本可以用另一种方式,但我相信这会让你走。我使用MaxLength来确定用户至少输入9个字符,如果不输入,就让他们知道。我还做了一个函数,将文本框的文本传递到这个函数中,并将继续为您设置格式;节省用户时间。。。此外,我们只需要确保用户主要输入至少9个字符的任何方式,如果我是正确的。。。祝你好运

Public Class Form1

Private strValidatedText As String = String.Empty
Private blnValid As Boolean = False

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'Make sure user can only enter up to 9 values...
    With txtInput
        .MaxLength = 9
        .TextAlign = HorizontalAlignment.Center
    End With
End Sub

Private Sub btnValidate_Click(sender As Object, e As EventArgs) Handles btnValidate.Click
    Dim strTextBox As String = txtInput.Text
    strValidatedText = ValidateText(strTextBox)
    Select Case blnValid
        Case True
            MessageBox.Show("It's valid! " & strValidatedText)
            txtInput.Clear()
            txtInput.Focus()
        Case Else
            MessageBox.Show(strValidatedText)
            txtInput.Clear()
            txtInput.Focus()
    End Select
End Sub

Private Function ValidateText(ByVal strText As String)
    Dim strNewText As String = String.Empty
    If strText.Length = 9 Then
        strNewText = (strText.Substring(0, 3) & ":" & strText.Substring(3, 3) & ":" & strText.Substring(6, 3))
        blnValid = True
    Else
        strNewText = "There must be at least 9 characters in the textbox!"
        blnValid = False
    End If
    Return strNewText
End Function
End Class
在“selectcaseblnvalid”中,您可以使用该字符串执行任何操作,因为它是全局的


MrCodeXeR

我建议您使用
MaskedTextBox
类,它将帮助您从用户处获取格式化输入。看一看这个例子。

我用下面的代码进行了尝试,它在
VB2010
中运行良好。只需在声明变量之前使用以下代码:

If TextBox1.Text = "" Then    'check if the textbox has a value
    MsgBox("Please Enter ID Number")
Return    'will return to the app
ElseIf Not IsNumeric(TextBox1.Text) Then    'check if the entered value is a number
    MsgBox("ID Must Be A Number")
Return