【解決方法】C#で入力文字列内の特殊文字をチェックする方法


やあ

正規表現を使用して、入力文字列に特殊文字のみが含まれていることを確認する方法。

C#
public static bool IsSpecialCharacters(this string stringToTest)
       {
           const string charSet = "[^a-z0-9]";

           //Regex RgxUrl = new Regex("[^a-z0-9]");
           //blnContainsSpecialCharacters = RgxUrl.IsMatch(stringToCheck);

           return Regex.Match(stringToTest, @"^[" + charSet + @"]+$").Success;
       }

この方法は正しいのでしょうか?

解決策 2

以下のように簡単に確認できます。

名前空間を追加するだけです

system.linq を使用する

int PasswordSpecialChar = txtMonth.Text.Count(p => !char.IsLetterOrDigit(p));

解決策 1

いいえ。
たとえば、解決策は大文字では機能しません。 これを試して:

C#
return Regex.Match(stringToTest, @"^\W+$").Success;

これは、英数字以外のすべてに一致します。

解決策 3

public static bool hasSpecialChar(文字列入力)
{
string SpecialChar = @”\|!#$%&/()=?»«@£§€{}.-;’<>_,*+”;
foreach (specialChar の var item)
{
if (input.Contains(item.ToString())) は true を返します。
}

false を返します。
}

コメント

タイトルとURLをコピーしました