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

时间:2013-05-01 03:35:02

标签: vb.net vb.net-2010

我是新手,我正在使用 vb2010 ,我只需要一些帮助。

这是我的问题。

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

3 个答案:

答案 0 :(得分:0)

我为你做了一个非常快速的例子,足以让你走上正轨。我可以用不同的方式完成它,但我相信这会让你前进。我使用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

同样在“Select Case blnValid”的那一点上,你可以用这个字符串做任何你喜欢的事情,因为它是全局的......

MrCodeXeR

答案 1 :(得分:0)

我建议你使用MaskedTextBox类,它会帮助你从用户那里获取格式化的输入。看看this示例。

答案 2 :(得分:-1)

我尝试使用以下代码,它在VB 2010中正常工作。只需在变量声明之前使用此代码:

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