我想检查输入是否包含特殊字符(@" [~`!@#$%^& *() - + = | {}' :;。,<> ; /?]")或不在vb.net中?
如何在vb.net代码中检查?
答案 0 :(得分:3)
如果要检查字符串中是否包含任何提到的字符,可以使用以下函数:
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
答案 1 :(得分:2)
如果字符串只能包含字母或数字(0-9)或空格:
Dim noSpecialCharacters = text.
All(Function(c) Char.IsLetterOrDigit(c) OrElse Char.IsWhiteSpace(c))
Dim containsSpecialCharacters = Not noSpecialCharacters