2

パスワードに少なくとも 1 つの文字と数字が含まれていることを確認しようとしています。

以下はうまくいかないようです。

パスワードは「tester1」または「11111111t」などです。

すべて文字またはすべて数字にすることはできません。

何か案は?

const string pattern = @"/[a-z].*\d|\d.*[a-z]/";
var match = Regex.Match(password, pattern);

解決済み:

var rule1 = password.Any(char.IsLetter);
var rule2 = password.Any(char.IsNumber);

これもうまくいきました:

const string pattern = @"[a-z].*\d|\d.*[a-z]";
4

5 に答える 5

2

ここに1つ

((.*\d.*[a-zA-Z].*)|(.*[a-zA-Z].*\d.*))
于 2013-05-02T21:27:27.410 に答える
2

パターンを囲むスラッシュは、正規表現リテラルを持つ言語で使用されます。C# にはそれがありません。

パターンからスラッシュを削除します。

const string pattern = @"[a-z].*\d|\d.*[a-z]";
于 2013-05-02T21:27:37.990 に答える
0

少なくとも 1 つの大文字、1 つの小文字、1 つの数字、1 つの特殊文字、および少なくとも 8 文字の長さの正規表現:

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^a-zA-Z0-9 :])(?=.{8,})

于 2019-10-15T08:09:05.217 に答える