相关疑难解决方法(0)

检查字符串是否有足够强的密码

可能重复:
强密码正则表达式
需要RegEx密码强度?

我只是想知道在某些条件下搜索字符串的最佳方法是什么(具体的密码强度)可以实现.

到目前为止,我有一个简单的:

if(password.Length <= 7)
    {
        errorMessage = "Your password must be at least 8 characters.";
    }
Run Code Online (Sandbox Code Playgroud)

我希望能够检查大写字母,但我不确定方法或程序是什么.我试过Googling,搜索网站:http: //msdn.microsoft.com,搜索我的C#书的索引(C#Programming 3E,Barbara Doyle),但我似乎找不到任何东西.

我知道我可以尝试这个......:

foreach(char c in password)
    {
        if(c!='A' || c!='B' || c!='C' || c!='D' ..... || c!='Z')
        {
            errorMessage = "Your password must contain at least one capital letter";
        }
    }
Run Code Online (Sandbox Code Playgroud)

...但这将是非常草率的,并且必须加倍才能检查至少一个小写字母.我确信有更好的方法可以做到这一点,或者至少是我上面显示的方法的简写.

此外,我可能决定检查特殊字符的密码(在上面的示例中似乎比使用大写和小写字母更容易做,所以我可以将它用于特殊字符,如果我决定使它们成为必要).如果有一种简单(或适当)的方式,我也很乐意拥有这些知识.

无论如何,非常感谢你们给予任何帮助.

c# string passwords webmatrix razor

18
推荐指数
1
解决办法
3万
查看次数

优雅的方式来计算字符串中的字母数字字符?

我正在寻找一种优雅的方式,最好是一个简短的linq表达式来计算给定字符串包含多少个字母数字字符.

我现在这样做的"无聊"方式是这样的:

int num = 0;
for (int i = 0; i < password.Length; i++)
{
    if (!char.IsLetterOrDigit(password, i))
    {
        num++;
    }
}
if (num < MinRequiredNonAlphanumericCharacters)
    return false;
Run Code Online (Sandbox Code Playgroud)

这已经相当短了,但我确信有一些linq魔法,这可以用更短,同样可理解的表达来完成,对吧?

.net c# linq string alphanumeric

6
推荐指数
1
解决办法
4527
查看次数

标签 统计

c# ×2

string ×2

.net ×1

alphanumeric ×1

linq ×1

passwords ×1

razor ×1

webmatrix ×1