如何在Visual Basic中验证“### ##”数字格式?

时间:2012-03-11 18:06:20

标签: vb.net

我需要能够在VB中验证用户输入,其中用户写入5个数字,如“### ##”,3个数字,间隙和2个数字。我该如何做到最好?

谢谢,迈克。

4 个答案:

答案 0 :(得分:1)

让您的代码自动格式化字符串。这使用户更容易

Dim s As String
Dim n As Integer

s = textBox1.Text.Replace(" ","")  ' Remove spaces
If s.Length = 5 AndAlso Int32.TryGetValue(s, n) Then
    textBox1.Text = n.ToString("000 00")
Else
    MessageBox.Show("You must enter five digits!")
EndIf

答案 1 :(得分:1)

可能会过度简化它,但我只是使用蒙面输入框。

答案 2 :(得分:1)

这对于Like运算符来说非常完美:

If "123 45" Like "### ##" Then

答案 3 :(得分:0)

正则表达式? "\d{3}\s\d{3}"

例如,使用RegularExpressionAttribute

Public Class Model
     <RegularExpression( "^\d{3}\s\d{3}$", ErrorMessage:="You must enter the date as ### ##" )>_
     Public Property Data as String
        'Getter and setter logic
     End Property
End Class

使用Regex类

...
Public Function Validate( ByVal data as String ) as Boolean
     Static ValidationRegex as Regex = new Regex("^\d{3}\s\d{3}$",RegexOptions.Compiled) 

     Validate = ValidationRegex.IsMatch( data )
End Function

我认为这在VB6中是可行的,但是没有一个例子可供你使用。