我一直试图拒绝这些元字符^ $ \ /()| ? + * [] {}><来自我表格中的所有文本框。
这就是我所拥有的,它不会拒绝这些角色。它拒绝输入textbox3的任何内容。
Imports System.Text.RegularExpressions
Partial Class Default2
Inherits System.Web.UI.Page
Protected Sub company(source As Object, e As ServerValidateEventArgs)
If Not Regex.IsMatch(TextBox3.Text, Regex.Escape("^$\/()|?+[]{}><")) Then
e.IsValid = False
Else
e.IsValid = True
End If
End Sub
End Class
请帮帮我
答案 0 :(得分:2)
检查文本是否包含任何正则表达式元字符的2种方法:
方法1:使用正则表达式
元字符需要放在字符类[...]
中。因此,只需要转义部分字符,即:^
,\
和]
。
If Regex.IsMatch(TextBox1.Text, "[\^$\\/()|?+[\]{}><]") Then
' Invalid input
Else
' Valid
End If
方法2:使用IndexOfAny
字符串函数
此方法不使用正则表达式,因此无需转义。
If TextBox1.Text.IndexOfAny("^$\/()|?+[]{}><".ToCharArray) > -1 Then
' Invalid input
Else
' Valid
End If