我想在vb中检查输入是否包含特殊字符(@"[~`!@#$%^&*()-+=|{}':;.,<>/?]")。网?
如何在 vb.net 代码中检查这一点?
如果您想检查字符串中是否包含任何提到的字符,您可以使用以下函数:
Function ContainsSpecialChars(s As String) As Boolean
Return s.IndexOfAny("[~`!@#$%^&*()-+=|{}':;.,<>/?]".ToCharArray) <> -1
End Function
或者如果你想检查字符串是否只包含字母、数字或空格,你可以使用以下函数:
Function ContainsSpecialChars(s As String) As Boolean
Return s.Any(Function(c) Not (Char.IsLetterOrDigit(c) OrElse Char.IsWhiteSpace(c)))
End Function
如果字符串只能包含字母或数字(0-9)或空格:
Dim noSpecialCharacters = text.
All(Function(c) Char.IsLetterOrDigit(c) OrElse Char.IsWhiteSpace(c))
Dim containsSpecialCharacters = Not noSpecialCharacters
导入此命名空间:导入 System.Text.RegularExpressions
创建一个公共函数来检查所有输入,除了:0-9、a-z、A-Z
`公共函数包含特殊字符(作为字符串输入)作为布尔值
Dim pattern As String = "[^a-zA-Z0-9\s]"
Dim regex As New Regex(pattern)
Return regex.IsMatch(input)
结束功能`
在您的代码中使用它:
如果包含特殊字符(“yourtext”)那么 str = (“文本中不允许使用特殊字符。”) 返回Str
注意:数字 3 是我的逻辑中使用的代码,您必须根据您的情况对其进行编辑。