vb.net中如何判断字符串是否含有特殊字符?

问题描述 投票:0回答:3

我想在vb中检查输入是否包含特殊字符(@"[~`!@#$%^&*()-+=|{}':;.,<>/?]")。网?

如何在 vb.net 代码中检查这一点?

string vb.net special-characters
3个回答
8
投票

如果您想检查字符串中是否包含任何提到的字符,您可以使用以下函数:

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

2
投票

如果字符串只能包含字母或数字(0-9)或空格:

Dim noSpecialCharacters = text.
    All(Function(c) Char.IsLetterOrDigit(c) OrElse Char.IsWhiteSpace(c))

Dim containsSpecialCharacters = Not noSpecialCharacters 

0
投票
  1. 导入此命名空间:导入 System.Text.RegularExpressions

  2. 创建一个公共函数来检查所有输入,除了: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)
    

    结束功能`

  3. 在您的代码中使用它:

    如果包含特殊字符(“yourtext”)那么 str = (“文本中不允许使用特殊字符。”) 返回Str

注意:数字 3 是我的逻辑中使用的代码,您必须根据您的情况对其进行编辑。

© www.soinside.com 2019 - 2024. All rights reserved.