自动拆分文本数字

时间:2013-02-20 19:00:55

标签: vb.net textbox

我正试图通过1 textbox中的IP,当我按OK时必须分成4个部分,如:

  

123.123.123.123

并且分为textbox1,2,3,4就像[123] [123] [123] [123]一样都可以,但如果我输入更多数字123.123.123.123.123.123.123我会收到错误。

    Dim str As String = TextBox1.Text
    Dim splitStr As String() = str.Split(".")
    TextBox1.Text = splitStr(0).ToString()
    TextBox2.Text = splitStr(1).ToString()
    TextBox3.Text = splitStr(2).ToString()
    TextBox4.Text = splitStr(3).ToString()

2 个答案:

答案 0 :(得分:2)

这涵盖了大多数输入错误:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox2.Text = ""
    TextBox3.Text = ""
    TextBox4.Text = ""

    Dim str As String = TextBox1.Text
    str = str.Trim
    Dim splitStrs As String() = str.Split("."c)

    If splitStrs.Length <> 4 Then
        MsgBox("Not a valid IP format")
        Exit Sub
    End If

    For Each value As String In splitStrs
        If value.Length < 1 OrElse value.Length > 3 Then
            MsgBox("Not a valid IP format")
            Exit Sub
        End If


        If Not Integer.TryParse(value, 0) Then
            MsgBox("Not a valid IP format")
            Exit Sub
        End If

        If value.Contains(" ") Then
            MsgBox("Not a valid IP format")
            Exit Sub
        End If
    Next
    TextBox1.Text = splitStrs(0).ToString()
    TextBox2.Text = splitStrs(1).ToString()
    TextBox3.Text = splitStrs(2).ToString()
    TextBox4.Text = splitStrs(3).ToString()
End Sub

答案 1 :(得分:0)

将字符串的长度限制为15个字符

4 x 3个字符“000” 加  3个分离器“。”

共15个字符