2013-05-01 81 views
-1

即时新手这里,即时通讯使用vb2010,我只需要一些帮助家伙。验证文本框中的字母数字输入[VB2010]

这是我的问题。

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

回答

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 
在“选择案例blnValid”这一点上,你可以做你将与该字符串什么都喜欢,因为它是全球

也...

MrCodeXeR

+0

谢谢大家的范例,现在即时通讯在正确的轨道上= d – Am0n 2013-05-05 23:22:43

+0

您的欢迎,很高兴我能帮助! – Codexer 2013-05-06 00:07:17

0

我建议你使用MaskedTextBox类,它将帮助您从用户获取格式化的输入。看看this的例子。

-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