If Not Regex.Match(txt_Username.Text, "^[a-zA-Z0-9]*$", RegexOptions.IgnoreCase).Success Then
如何更改此行,以便检查txt_Password和txt_Username?
由于
答案 0 :(得分:1)
您可以先创建一个正则表达式对象,然后使用其实例方法来共享正则表达式,如下所示:
Dim checker As Regex = New Regex("^[a-zA-Z0-9]*$", RegexOptions.IgnoreCase)
If Not checker.Match(txt_Username.Text).Success OrElse Not checker.Match(txt_Password.Text).Success
答案 1 :(得分:0)
另一种方法是创建要测试的值的数组,然后使用Array.TrueForAll()。此示例还确保它们都不是空白的:
Dim values() As String = {txt_Username.Text, txt_Password.Text}
If Not Array.TrueForAll(values, Function(x) Regex.IsMatch(x, "^[a-zA-Z0-9]*$", RegexOptions.IgnoreCase)) _
OrElse Not Array.TrueForAll(values, Function(x) x.Trim.Length > 0) Then
MessageBox.Show("Invalid UserName and/or Password")
End If
只需要两个TextBox就有点过分,但只需要在工具箱中保留,以便在需要检查一系列TextBox时。
答案 2 :(得分:0)
Regex
可以通过使用静态方法应用,也可以通过创建可重用的Regex
实例来应用:
Dim validator As New Regex("^[a-zA-Z0-9]*$", RegexOptions.IgnoreCase)
If Not validator.IsMatch(txt_Username.Text) OrElse _
Not validator.IsMatch(txt_Password.Text) Then
...
End If