我需要能够在VB中验证用户输入,其中用户写入5个数字,如“### ##”,3个数字,间隙和2个数字。我该如何做到最好?
谢谢,迈克。
答案 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中是可行的,但是没有一个例子可供你使用。