2

これらは要件ですが、私の正規表現スキルには複雑すぎると思います...

. 6 ~ 10 文字の英数字
。許可された AZ,az,0-9,@,$,_
. 文字で始まる必要があります
。少なくとも 1 つの数値を含める必要があります
。2 つの連続した同一の文字を含めることはできません
。2 つの連続した同一の数字を含めることはできません

[A-Za-Z] = 文字のみなどの正規表現の基本は知っていますが、連続する文字となると...

4

3 に答える 3

0
        string pattern1 = @"^[a-zA-Z]([a-zA-Z])*"; //start and any number of characters
        string pattern2 = @"[0-9]+"; //one number or more numbers
        string pattern3 = @"[@#$%]*"; // special symbol allowed
        string pattern4 = @"(.)\1";//consecutive characters
        string pattern5 = @"^(.){6,10}$"; //min max
于 2012-05-31T14:27:35.810 に答える
0

パスワードを検証したい場合は、グループを使用してそうすることができます。

(?<a>[a-zA-Z])?(?<b>[0-9])?(?<c>[@%$#/\\\(\)])?

3 つのグループ (a、b、c) のいずれかに一致します。

上下の文字はグループ a になります

数字はグループbになります

特殊文字はグループcになります

regex.match.groups("a").count を使用して、グループ a の文字が見つかるかどうかを確認できます

3 つのグループすべてに文字が見つかった場合、パスワードは強力です。

于 2013-08-18T12:45:18.210 に答える