正则表达式匹配验证多个文本框?
Regex Match to validate more than one textbox?
If Not Regex.Match(txt_Username.Text, "^[a-zA-Z0-9]*$", RegexOptions.IgnoreCase).Success Then
如何更改此行以便它检查 txt_Password 以及 txt_Username?
谢谢
您可以通过先创建一个正则表达式对象,然后使用其实例方法来共享正则表达式,如下所示:
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
另一种方法是创建一个包含要测试的值的数组,然后使用 Array.TrueForAll()。此示例还确保其中 none 个为空:
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
仅两个文本框有点矫枉过正,但只是在您需要检查一系列文本框时保留在工具箱中的东西。
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
If Not Regex.Match(txt_Username.Text, "^[a-zA-Z0-9]*$", RegexOptions.IgnoreCase).Success Then
如何更改此行以便它检查 txt_Password 以及 txt_Username?
谢谢
您可以通过先创建一个正则表达式对象,然后使用其实例方法来共享正则表达式,如下所示:
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
另一种方法是创建一个包含要测试的值的数组,然后使用 Array.TrueForAll()。此示例还确保其中 none 个为空:
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
仅两个文本框有点矫枉过正,但只是在您需要检查一系列文本框时保留在工具箱中的东西。
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